Python setuptools:从本地仓库安装包依赖

4 投票
1 回答
1718 浏览
提问于 2025-04-18 06:09

一个Python包的依赖关系会在一个叫做 setup.py 的文件里声明,具体是在 install_requires 这个键下,比如:

  install_requires=[
      'Flask >= 0.10.1',
      'requests >= 2.2.1',
      'jsonschema >= 2.3.0',
      'nose >= 1.3.0',
      'behave >= 1.2.4'
  ]

测试所需的依赖关系则是在 tests_requires 这个键下声明的。

当你安装这个包时(通过 python setup.py install 命令),它会从Python包索引网站(pypi.python.org)获取这些依赖。

有没有办法让这个包在安装时,从本地的包仓库获取它的依赖,比如 pypiserver 呢?

这样我就可以缓存常用的包,并安装那些在PyPi上不存在的内部包。

我可能在寻找类似这样的东西:

python setup.py install 
      --repo http://127.0.0.1:8000/localrepo 
      --fallback-repo http://pypi.python.org

1 个回答

1

使用PIP缓存,你可以多次安装依赖包,而不需要每次都重新下载。

你可以在 ~/.bash_profile 文件中添加以下这一行:

export PIP_DOWNLOAD_CACHE=$HOME/.pip_download_cache

想了解更多,可以查看这个链接 https://stackoverflow.com/a/4806458/3380763

撰写回答