Hello,

I'm trying to create a package that has a namespace package inside a
directory src below the root directory of the project. I was trying to
follow the instructions laid out in the documentation here
<https://setuptools.readthedocs.io/en/latest/setuptools.html#find-namespace-packages>,
but could not get the example described there to work using setuptools
41.0.0:

[adamson@home] {build-test-37} ~/test-pkg$ tree --charset unicode
..|-- setup.py`-- src    `-- namespace
        `-- mypackage            |-- __init__.py            `-- mod1.py

3 directories, 3 files

[adamson@home] {build-test-37} ~/test-pkg$ cat setup.py
from setuptools import setup, find_namespace_packages

setup(name="namespace.mypackage",
      version="0.1",
      package_dir={'': 'src'},
      packages=find_namespace_packages(where='src'))

[adamson@home] {build-test-37} ~/test-pkg$ conda list -e# This file
may be used to create an environment using:# $ conda create --name
<env> --file <this file># platform: linux-64
ca-certificates=2019.1.23=0
certifi=2019.3.9=py37_0
libedit=3.1.20181209=hc058e9b_0
libffi=3.2.1=hd88cf55_4
libgcc-ng=8.2.0=hdf63c60_1
libstdcxx-ng=8.2.0=hdf63c60_1
ncurses=6.1=he6710b0_1
openssl=1.0.2r=h7b6447c_0
pip=19.1=py37_0
python=3.7.0=h6e4f718_3
readline=7.0=h7b6447c_5
setuptools=41.0.0=py37_0
sqlite=3.28.0=h7b6447c_0
tk=8.6.8=hbc83047_0
wheel=0.33.1=py37_0
xz=5.2.4=h14c3975_4
zlib=1.2.11=h7b6447c_3

[adamson@home] {build-test-37} ~/test-pkg$ python setup.py install
--record files.txt
running install
running bdist_egg
running egg_info
creating src/namespace.mypackage.egg-info
writing src/namespace.mypackage.egg-info/PKG-INFO
writing dependency_links to
src/namespace.mypackage.egg-info/dependency_links.txt
writing top-level names to src/namespace.mypackage.egg-info/top_level.txt
writing manifest file 'src/namespace.mypackage.egg-info/SOURCES.txt'
package init file 'src/namespace/__init__.py' not found (or not a regular file)
reading manifest file 'src/namespace.mypackage.egg-info/SOURCES.txt'
writing manifest file 'src/namespace.mypackage.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/namespace
creating build/lib/namespace/mypackage
copying src/namespace/mypackage/mod1.py -> build/lib/namespace/mypackage
copying src/namespace/mypackage/__init__.py -> build/lib/namespace/mypackage
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/namespace
creating build/bdist.linux-x86_64/egg/namespace/mypackage
copying build/lib/namespace/mypackage/mod1.py ->
build/bdist.linux-x86_64/egg/namespace/mypackage
copying build/lib/namespace/mypackage/__init__.py ->
build/bdist.linux-x86_64/egg/namespace/mypackage
byte-compiling build/bdist.linux-x86_64/egg/namespace/mypackage/mod1.py
to mod1.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/namespace/mypackage/__init__.py
to __init__.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying src/namespace.mypackage.egg-info/PKG-INFO ->
build/bdist.linux-x86_64/egg/EGG-INFO
copying src/namespace.mypackage.egg-info/SOURCES.txt ->
build/bdist.linux-x86_64/egg/EGG-INFO
copying src/namespace.mypackage.egg-info/dependency_links.txt ->
build/bdist.linux-x86_64/egg/EGG-INFO
copying src/namespace.mypackage.egg-info/top_level.txt ->
build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/namespace.mypackage-0.1-py3.7.egg' and adding
'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing namespace.mypackage-0.1-py3.7.egg
Copying namespace.mypackage-0.1-py3.7.egg to
/nas/dft/ire/adamson/.conda/envs/build-test-37/lib/python3.7/site-packages
Adding namespace.mypackage 0.1 to easy-install.pth file

Installed 
/nas/dft/ire/adamson/.conda/envs/build-test-37/lib/python3.7/site-packages/namespace.mypackage-0.1-py3.7.egg
Processing dependencies for namespace.mypackage==0.1
Finished processing dependencies for namespace.mypackage==0.1
writing list of installed files to 'files.txt'

[adamson@home] {build-test-37} ~/test-pkg$ python -c 'import
namespace.mypackage'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'namespace'

Is there a known issue preventing package_dir to work with namespace
packages? Is there a known good version of setuptools that I could use to
package/install a project using a namespace package and package_dir? Thank
you!


- Alex Adamson
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/45UKVHDJ7XB3CLPYF65DKJJQEQRGMFRY/

Reply via email to