如何在 pip 中安装具有公共依赖项的私有模块?

Chr*_*her 4 python pip pypi

我找到了一些与dependency_links相关的答案,但不幸的是它们还没有为我工作。我正在写一个 python 模块。它存储在私有 pypi 存储库中,并依赖于存储在同一私有存储库和公共 pypi 存储库中的一些依赖项:

setup(
# some other setup
name = 'mymodule',
install_requires = [
    'kazoo',
    'privateDependencyA',
    'privateDependencyB'
],
dependency_links = [
    "http://my.private.repo/eggs/#privateDependencyA",
    "http://my.private.repo/eggs/#privateDependencyB"
])
Run Code Online (Sandbox Code Playgroud)

我存储mymodule在我的私人存储库中,因此我尝试安装它:

pip install -i http://my.private.repo/eggs/ mymodule
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但找不到kazoo,这是一个公共图书馆。因此我尝试使用该-f标志:

$ pip install -i http://my.private.repo/eggs/ -f http://pypi.python.org/ mymodule                                                                                                                                                                                                                                      
Downloading/unpacking mymodule
  Downloading mymoudle-<version>.tar.gz (unknown size): 3.1kB downloaded
  Running setup.py egg_info for package mymodule

Downloading/unpacking kazoo (from mymodule)
  Could not find any downloads that satisfy the requirement kazoo (from mymodule)

Downloading/unpacking kazoo (from mymodule)
  Could not find any downloads that satisfy the requirement kazoo (from mymodule)
Run Code Online (Sandbox Code Playgroud)

如何从公共 pypi 存储库下载依赖项,同时从私有存储库安装模块?

Hug*_*res 6

添加--extra-index-url https://pypi.python.org/simple到您的命令中。它将首先查看http://my.private.repo/eggs/,然后查看https://pypi.python.org/simple

查看更多信息https://pip.pypa.io/en/stable/cli/pip_wheel/#cmdoption-extra-index-url