【发布时间】:2013-12-03 21:45:03
【问题描述】:
我有一个 python 包 A,它依赖于另一个名为 godot 的私有包(托管在 bitbucket,应该通过 git+ssh 协议访问)。在包 A 的 setup.py 中,我有以下代码:
...
install_requires=['godot'],
dependency_links=['git+ssh://git@bitbucket.org/xxx/godot.git#egg=godot']
...
我有两个问题:
-
现在 setuptools 1.4(最新稳定版)不支持 'git+ssh' 协议,只有开发分支中的代码处理此协议:Python setuptools: How can I list a private repository under install_requires?。我已经通过以下方式安装了开发版本:
pip install --upgrade --force-reinstall hg+https://bitbucket.org/pypa/setuptools#egg=setuptools我几乎解决了这一点,但我想知道是否有其他方法可用?调用 pip install -r requirements.txt(在 requirements.txt 中有 git+ssh://git@bitbucket.org/xxx/godot.git#egg=godot 列表)?
-
第二个问题是名称冲突。 pypi 上还有另一个包也叫 godot,所以当我使用以下命令安装包 A 时,pip install the godot from pypi index:
pip install git+ssh://git@pypi.corp.com/xxx/A.git#egg=A如何强制 pip(setup.py) 安装私有 godot 包,而不是 pypi 索引上的那个?
【问题讨论】:
标签: python pip setuptools