【发布时间】:2013-03-08 05:23:06
【问题描述】:
我正在尝试使用 pip 安装几个软件包。当我使用 sudo 执行此操作时,会发生此错误:“无法获取索引基 URL https://pypi.python.org/simple/”。当我在没有 sudo 的情况下执行命令时,包下载成功,但我没有足够的权限。这种不同行为的原因可能是什么?我坐在代理后面。
【问题讨论】:
我正在尝试使用 pip 安装几个软件包。当我使用 sudo 执行此操作时,会发生此错误:“无法获取索引基 URL https://pypi.python.org/simple/”。当我在没有 sudo 的情况下执行命令时,包下载成功,但我没有足够的权限。这种不同行为的原因可能是什么?我坐在代理后面。
【问题讨论】:
也许可以试试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 时获得的设置。
【讨论】:
-E 是sudo 的一个选项,而不是pip。我进行了编辑以澄清
我在尝试使用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 问题,然后我能够在我的 virtualenv 中运行我的普通 pip install -r requirements.txt 来设置我想要的所有包,这些包都列在我的 requirements.txt 文件中。
这也是我发现的这个 Google 群组中的几个人推荐的解决问题的方法:
https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw
[编辑]
如果您全局安装了不同版本的 PIP,则每次创建新的 virtualenv 时都会安装该版本的 PIP,因此您每次都必须为每个新 PIP 执行此操作,除非您更改全局安装的版本。我在开始一个新项目时遇到了这个问题,不得不再次修复并恢复到pip==1.2.1
【讨论】:
来自pip docs,如果您在代理后面安装:
python get-pip.py --proxy="[user:passwd@]proxy.server:port"
【讨论】:
如果您想使用 pip 安装任何软件包,那么最好遵循以下语法:
sudo pip --proxy=http://username:password@proxyURL:portNumber install yolk
【讨论】:
我也遇到过这个问题,找到答案终于解决了。
你可以尝试添加一个新文件/root/.pip/pip.conf,然后写:
[global]
index-url=http://pypi.douban.com/simple/
在文件中。
【讨论】:
我对这个问题的解决方案不同。
我系统的日期和时间没有同步。
如果出现问题,请检查您的系统数据/时间,如果不是问题,请继续执行其他建议。
【讨论】: