19

我正在尝试使用 pip 安装几个软件包。当我使用 sudo 执行此操作时,会发生此错误:“无法获取索引基础 URL https://pypi.python.org/simple/ ”。当我在没有 sudo 的情况下执行命令时,包下载成功,但我没有足够的权限。这种不同行为的原因可能是什么?我坐在代理后面。

4

6 回答 6

31

也许尝试sudo -E

 -E          The -E (preserve environment) option indicates to the secu‐
             rity policy that the user wishes to preserve their existing
             environment variables.  The security policy may return an
             error if the -E option is specified and the user does not
             have permission to preserve the environment.

假设您的代理设置是在您的正常用户环境中设置的,而不是您在运行时获得的设置sudo

于 2013-03-19T13:42:24.007 回答
4

我在尝试使用时遇到了这个问题pip==1.5.4

这是与 PIP 和 Python 的 PYPI 信任 SSL 证书相关的问题。如果您查看 Mac OS X 中的 PIP 日志:/Users/username/.pip/pip.log,它将为您提供更多详细信息。

经过数小时尝试不同的东西后,我让 PIP 恢复并运行的解决方法是在 Python 中进入我的site-packages,无论它是在virtualenv中还是在您的普通site-packages中,并摆脱当前的 PIP 版本。对我来说,我有pip==1.5.4

我删除了 PIP 目录和 PIP egg 文件。然后我跑了

easy_install pip==1.2.1  

这个版本的 PIP 没有 SSL 问题,然后我能够pip install -r requirements.txt在我的 virtualenv 中运行我的正常程序来设置我想要的所有在我的requirements.txt文件中列出的包。

这也是我发现的这个 Google 群组中的几个人推荐的解决问题的方法:

https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw

[编辑]

如果您全局安装了不同版本的 PIP,则每次创建新的 virtualenv 时都会安装该版本的 PIP,因此您每次都必须为每个新 PIP 执行此操作,除非您更改全局安装的版本。我在开始一个新项目时遇到了这个问题,不得不再次修复并恢复到pip==1.2.1

于 2014-03-17T03:00:57.403 回答
2

pip docs,如果您在代理后面安装:

python get-pip.py --proxy="[user:passwd@]proxy.server:port"

于 2014-10-13T15:31:20.597 回答
2

如果您想使用 pip 安装任何软件包,那么最好遵循以下语法:

sudo pip --proxy=http://username:password@proxyURL:portNumber install yolk
于 2016-05-04T11:24:40.750 回答
2

我遇到了这个问题,发现答案终于解决了。

您可以尝试添加一个新文件/root/.pip/pip.conf,然后编写:

[global]
index-url=http://pypi.douban.com/simple/ 

在文件中。

于 2017-04-05T00:23:38.383 回答
1

对于这个问题,我的解决方案有所不同。

我系统的日期和时间没有同步。

如果出现问题,请检查您的系统数据/时间,如果不是问题,请继续执行其他建议。

于 2019-04-20T11:58:59.493 回答