Thomas Nyberg wrote: > Hello, > > I'm trying to understand native namespaces. I'm currently using python > 3.5 as packaged in debian 9. I've been following the instructions here: > > https://packaging.python.org/guides/packaging-namespace-packages/#native-namespace-packages > > Those instructions link to the following example: > > https://github.com/pypa/sample-namespace-packages/tree/master/native > > I presume I'm doing something silly, but I can't get that to work. I've > tried creating a virtual environment as: > > -------------------------------------------------- > $ python3 -m venv venv > $ source venv/bin/activate > -------------------------------------------------- > > And then I've gone into those repo folders and run their setup.py files > (e.g. for namespace a): > > -------------------------------------------------- > $ cd sample-namespace-packages/native/pkg_a/ > $ python3 setup.py install > -------------------------------------------------- > > Then if I try to run their sample verification file, things fail: > > -------------------------------------------------- > $ cat sample-namespace-packages/verify_packages.py > from example_pkg import a > from example_pkg import b > > print(a.name) > print(a.__path__) > print(b.name) > print(b.__path__) > $ python3 sample-namespace-packages/verify_packages.py > Traceback (most recent call last): > File "sample-namespace-packages/verify_packages.py", line 1, in <module> > from example_pkg import a > ImportError: No module named 'example_pkg' > -------------------------------------------------- > > Things seem to be installing: > > -------------------------------------------------- > $ ls venv/lib/python3.5/site-packages/ > easy-install.pth pkg_resources > easy_install.py pkg_resources-0.0.0.dist-info > example_pkg_a-1-py3.5.egg __pycache__ > example_pkg_b-1-py3.5.egg setuptools > pip setuptools-32.3.1.dist-info > pip-9.0.1.dist-info > -------------------------------------------------- > > Am I missing something totally obvious here? Does anyone here see what > I'm doing wrong? Thanks for any help!
For me it's failing in the same way. I then tried pip install path/to/pkg_a which works. Comparing the site-packages directories gave added example_pkg/a/__init__.py added example_pkg/a/__pycache__/__init__.cpython-34.pyc added example_pkg_a-1.egg-info/PKG-INFO added example_pkg_a-1.egg-info/SOURCES.txt added example_pkg_a-1.egg-info/dependency_links.txt added example_pkg_a-1.egg-info/installed-files.txt added example_pkg_a-1.egg-info/top_level.txt removed easy-install.pth removed example_pkg_a-1-py3.4.egg i. e. it looks like the modules have to be extracted from the egg and cannot be imported directly even though that is what I thought the pth file was supposed to achieve. This is all a bit of black magic to me -- I've no idea if this is some kind of misconfiguration or a version problem or whatever. -- https://mail.python.org/mailman/listinfo/python-list