pip安装私人包装

iqui 发布于 6 天前 pip 最后更新 6 天前 13 浏览

我有一个python软件包A,它依赖于另一个名为godot的私有软件包(托管在bitbucket中,应该由git + ssh协议访问)。在包A的setup.py中,我有以下代码:

...
install_requires=['godot'],
dependency_links=['git+ssh://git@bitbucket.org/xxx/godot.git#egg=godot']
...
我在这里有两个问题:
  1. 现在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列表)?
  2. 第二个问题是名称冲突。在pypi上还有另一个名为godot的软件包,所以当我使用follow命令安装软件包A时,pip从pypi索引中安装godot: pip install git+ssh://git@pypi.corp.com/xxx/A.git#egg=A 如何强制pip(setup.py)安装私有godot软件包,而不是pypi索引上的软件包?
已邀请:

wnatus

赞同来自:

对于第1部分:您可以通过指定为:pip来安装包:

$ pip install http://my.package.repo/SomePackage-1.0.4.zip
为了简单起见并避免花费不适当的时间,我只需下载.zip源文件并通过pip安装,如上所述。 见here ...... 对于第2部分:pip有一个--no-dependencies开关。手动安装所有依赖项后添加