anaconda 下的特定环境 pip.conf

Environment specific pip.conf under anaconda

我正在开发 Python 库并使用 anaconda 发行版。我将软件包安装到 conda 环境中,同时包含 condapip。我想从 PyPi 和内部存储库服务器 (Sonatype Nexus) 安装 Python 包。为此,我需要设置 --extra-index-url 标志。

我想让这个可重现,让任何人都可以从脚本重新创建环境,因此从命令行调用 pip 设置 --extra-index-url 不是一个选项。

我可以在 $HOME/.pip/pip.conf 中全局设置它,这有效,但这不能转移给其他用户,至少不能以自动方式转移。

有没有办法设置 conda 环境特定的 pip.conf 文件?它会放在哪里?这将使任何人都可以签出库代码并重新创建所有依赖项完好无损并从内部存储库中提取代码的环境?

你可以设置环境变量PIP_CONFIG_FILE,指向你喜欢的pip.conf。既然你想要

to recreate the environment from a script

您可以在此脚本中设置 PIP_CONFIG_FILE

可能值得一提的是,Conda YAML environment definitions 支持所有 pip install 参数,包括 --extra-index-url。例如,一个人可能有这样的东西:

environment.yaml

name: foo
channels:
  - defaults
dependencies:
  - python=3.9
  - numpy
  - scipy
  - pip
  - pip:
    - --extra-index-url https://127.0.100.55  # some custom URI
    - custom-pkg1
    - custom-pkg2

有关其他功能的展示,请参阅 Conda 的 Advanced Pip Example