【问题标题】:pip install private packagepip 安装私有包
【发布时间】: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']
...

我有两个问题:

  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,所以当我使用以下命令安装包 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


    【解决方案1】:

    对于第 1 部分:您可以通过 pip 安装包,具体方式如下:

    $ pip install http://my.package.repo/SomePackage-1.0.4.zip
    

    为了简单起见并避免在上面花费过多时间,我只需下载.zip 源文件并通过 pip 安装即可。

    here...

    对于第 2 部分:pip 有一个 --no-dependencies 开关。手动安装所有依赖项后添加

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 2019-06-26
      • 2011-06-17
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多