根据doc我可以指示 pip 使用我的私有(private) pypi 存储库而不是官方存储库:
For pip this can be done by setting the environment variable PIP_INDEX_URL in your .bashrc/.profile/.zshrc:
export PIP_INDEX_URL=http://localhost:8080/simple/
所以我将我的私有(private)存储库(例如,http://pypi.mycompany.com/simple
)添加到我的 Debian 服务器上的 /etc/profile
中。但是 pip 仍然会引发错误:
john@server:~$ sudo pip install ipython
Downloading ...
Cannot fetch index base URL https://pypi.python.org/simple/
...
看起来 pip 忽略了我设置的环境变量 PIP_INDEX_URL
。为什么?
更新:
按照@Ivo 的指示,我发现我的 Python 根本看不到变量:
john@server:~$ sudo python -c "import os; print(os.getenv('PIP_INDEX_URL'))"
None
最佳答案
找到了。很简单:sudo
出于安全原因,默认情况下不会使用环境变量。要告诉 sudo
保留 env 变量,可以使用 -E
选项,例如
sudo -E pip install ipython
关于python - pip 不支持使用 sudo 的 PIP_INDEX_URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136675/