Python 如何将自己的索引添加到在virtualenv中运行的pip中? 我有一个里面有皮普的虚拟电视 我有自己的包裹索引 我想将这个包添加到pip中,以避免一直调用pip install some_package-I my_index 我只想将此索引添加到在virtualenv中运行的特定pip实例

Python 如何将自己的索引添加到在virtualenv中运行的pip中? 我有一个里面有皮普的虚拟电视 我有自己的包裹索引 我想将这个包添加到pip中,以避免一直调用pip install some_package-I my_index 我只想将此索引添加到在virtualenv中运行的特定pip实例,python,virtualenv,pip,Python,Virtualenv,Pip,在这种情况下,我应该修改哪个文件以及如何修改?我从未尝试使用我自己的索引,但经过一些研究后,应该会介绍您想要做什么 基本上,您需要将以下内容添加到~/.pip/pip.conf(在Windows系统上,位于%HOME%\pip\pip.ini): 问题是,您将为所有项目提供一个全局定义,而您需要的是为特定项目中的所有用户提供一个定义。从中,您可以使用环境变量PIP\u config\u file 您可以编辑virtual env folder/bin/activate脚本以包含此环境变量,但问题

在这种情况下,我应该修改哪个文件以及如何修改?

我从未尝试使用我自己的索引,但经过一些研究后,应该会介绍您想要做什么

基本上,您需要将以下内容添加到
~/.pip/pip.conf
(在Windows系统上,位于
%HOME%\pip\pip.ini
):

问题是,您将为所有项目提供一个全局定义,而您需要的是为特定项目中的所有用户提供一个定义。从中,您可以使用环境变量
PIP\u config\u file

您可以编辑
virtual env folder/bin/activate
脚本以包含此环境变量,但问题是创建新的虚拟环境将丢失此更改,并且无法实现自动化。您可以做的是在项目的根目录中创建
.pip/pip.conf
文件,并在项目的根目录上创建一个简单的
激活虚拟环境
脚本,包括以下内容:

pushd $(dirname $0)
export PIP_CONFIG_FILE="$(pwd)/.pip/pip.conf"
source "$(pwd)/virtual-env-folder/bin/activate"
popd

并指示您的用户源文件,而不是
virtual env folder/bin/activate

我遇到了相同的问题,并发现pip在当前版本中事实上支持此功能

在虚拟电视中:

在Unix和Mac OS X上,文件是
$VIRTUAL\u ENV/pip.conf


在Windows上,该文件是:
%VIRTUAL\u ENV%\pip.ini

在virtualenv中没有
~
。我用一种可能的解决方案编辑了我的文章,使其基于项目,而不是基于全局用户。该解决方案在我的Mac上工作,但在RHLE 6上无法工作。其他人在linux上的VE中也能做到这一点吗?这个解决方案(在我的virtualenv的根目录中放一个pip.conf)在运行python 2.7的Centos 7上对我很有效。5@steve在ubuntu 16.04上为我工作。也许RHLE上的python/virtualenv版本太旧了?
pushd $(dirname $0)
export PIP_CONFIG_FILE="$(pwd)/.pip/pip.conf"
source "$(pwd)/virtual-env-folder/bin/activate"
popd