Namespace packages and pip install -e

6
我有一个依赖于ns.pkg1包的ns.pkg2包。我对其进行了分叉,将其发布到git并想要安装我的版本到虚拟环境中。我使用pip install -e mygit,结果在<env>/local/lib/python2.7/site-packages/ns/pkg1中得到了ns.pkg,而在<env>/src/ns.pkg2中得到了ns.pkg2<env>/lib/python2.7/site-packages/ns.pkg2.egg-link。现在我可以导入nsns.pkg1,但无法导入ns.pkg2。我找不到一种在没有调用setup.py develop的情况下从git安装软件包的方法。此外,我不确定这是否是模块代码的问题。

所以,是否可能从tarball和直接从git安装同一命名空间中的两个模块?


你的 pkg2__init__.py 是什么样子?应该类似于这里描述的内容:https://dev59.com/CnI-5IYBdhLWcg3wxruQ - mata
1
@mata pkg_resources.declare_namespace(__name__) - wRAR
1个回答

5

你帮我解决了一个非常长期的问题(我希望它已经解决了)。使用 pip 我从 pypi 安装了我的命名空间包。并且使用 buildout 我开发了一些包,共享相同的命名空间。有时候我会遇到导入我的基于开发的包时出现缺失的问题。现在的解决方案是?使用 easy_install 而不是 pip 从 pypi 安装命名空间包。在这个改变之后,我能够导入我的基于开发的包。感谢你提供的链接。 - Jan Vlcinsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接