【问题标题】:Namespace packages and pip install -e命名空间包和 pip install -e
【发布时间】:2012-11-15 15:07:27
【问题描述】:

我有一个依赖于ns.pkg1 包的ns.pkg2 包。我制作了一个分支,将其发布到 git 并希望将我的版本安装到我的 virtualenv 中。我使用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 developpip install -e,我找不到从git 安装包的方法。另外,我不确定这不是模块代码的问题。

那么,是否可以从 tarball 和直接从 git 共同安装来自同一命名空间的两个模块?

【问题讨论】:

  • 你们中的__init__.py pkg2 是什么样子的?应该类似于here 的描述
  • @mata pkg_resources.declare_namespace(__name__)

标签: python virtualenv pip


【解决方案1】:

pip 中存在与--editable 和命名空间安装相关的未解决问题:https://github.com/pypa/pip/issues/3

一个workaround was merged,也许您可​​以通过以下方式解决您的问题:

$ pip install -e mygit --egg

【讨论】:

  • 你帮我解决了真正长期的问题(我希望它已经解决了)。使用 pip 我从 pypi 安装了我的命名空间包。我使用 buildout 开发包,共享相同的命名空间。有时我在导入基于开发的包时遇到问题,它被报告为丢失。暂时解决?我使用easy_install而不是pip从pypi安装命名空间包。进行此更改后,我可以导入基于开发的。谢谢你的链接。
猜你喜欢
  • 2020-04-28
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 2020-07-26
  • 2021-05-19
  • 2021-08-24
相关资源
最近更新 更多