Python 2.7 使用代理运行conda

Python 2.7 使用代理运行conda,python-2.7,proxy,anaconda,Python 2.7,Proxy,Anaconda,我在windows上使用Anaconda 2.7,我的internet连接使用代理 以前,在使用python 2.7(不是Anaconda)时,我安装了如下软件包: pip install {packagename} --proxy proxy-us.bla.com:123 有没有办法用代理参数运行conda?在conda帮助中未看到它 谢谢您可以通过将conda添加到.condarc来配置带有conda的代理,如 proxy_servers: http: http://user:pa

我在windows上使用Anaconda 2.7,我的internet连接使用代理

以前,在使用python 2.7(不是Anaconda)时,我安装了如下软件包:

pip install {packagename} --proxy proxy-us.bla.com:123
有没有办法用代理参数运行
conda
?在
conda帮助中未看到它


谢谢

您可以通过将conda添加到
.condarc
来配置带有conda的代理,如

proxy_servers:
    http: http://user:pass@corp.com:8080
    https: https://user:pass@corp.com:8080
或者设置
HTTP\u PROXY
HTTPS\u PROXY
环境变量。请注意,在您的情况下,您需要将方案添加到代理url,如


我犯的一个错误是将文件保存为
a.condarc
b.condarc

仅将其另存为
.condarc
,然后将以下代码粘贴到文件中,并将文件保存在主目录中。对主机名、用户等进行必要的更改

channels:
- defaults

show_channel_urls: True
allow_other_channels: True

proxy_servers:
    http: http://user:pass@hostname:port
    https: http://user:pass@hostname:port


ssl_verify: False

或者,您可以从版本中使用下面的命令行


我可以在不输入用户名和密码的情况下让它工作:

conda config --set proxy_servers.https https://address:port

我解决的最佳方法是使用
conda
pip
安装/更新命令在之前设置代理环境变量。简单运行:

set HTTP_PROXY=http://username:password@proxy_url:port
例如,您的实际命令可能如下

set HTTP_PROXY=http://yourname:your_password@proxy.your_company.com:8080
如果您的公司使用https代理,那么

set HTTPS_PROXY=https://username:password@proxy_url:port
一旦退出Anaconda提示符,则此设置将消失,因此您的用户名/密码将不会在会话后保存

我没有选择中提到的其他方法或其他一些来源,因为它们都需要将用户名/密码硬编码到

  • Windows环境变量(这也要求第一次重新启动Anaconda提示符)
  • Conda
    .condarc
    .netrc
    配置文件(这也不适用于PIP)
  • 启动Anaconda提示符时加载的批处理/脚本文件(这也可能需要配置路径)

所有这些都是不安全的,以后需要不断更新。如果你忘了在哪里更新?更多的疑难解答将会出现…

您可以通过将conda添加到.condarc中来配置代理,如

proxy_servers:
    http: http://user:pass@corp.com:8080
    https: https://user:pass@corp.com:8080
然后在cmd Anaconda电源提示符(基本)PS C:\Users\user>run中:

conda update -n root conda

在Mac电脑上,对我有效的方法是打开钥匙链,更新公司内部回购的钥匙密码。

谢谢。。。老实说,我早就看到了这一点,但我对命令行解决方案更感兴趣,不需要编辑一些文件。。。您知道吗?设置这些环境变量是一种命令行解决方案。如果您在SSLError消息上失败,请确保设置
ssl\u verify:False
。可能您的雇主正在解密您的连接,因此SSL证书不是预期的证书(中间人攻击)。我会避免设置
SSL\u verify:False
,除非您知道您的雇主是中间人。通过禁用ssl验证,您将完全禁用安全检查,以确保conda ia下载它应该下载的包。记住,康达下载的软件包可以运行任意代码!如果出于安全原因,我不想在
.condarc
中输入用户名和密码,并且更愿意在需要时被要求输入,我该怎么办?这对我来说很有用!:)现在可能有点晚了,但我想知道菲亚特是否有更新版的巨蟒?在4.3.30上,我得到
CondaValueError:Key'proxy_servers.http'不是一个已知的原始参数。
这对我来说很有效!奇怪的是,当我直接在文件中设置值时,它们没有被识别。(conda 4.8.2)这适用于Windows和Linux。谢谢sm。是否将ssl设置为false邀请中间人攻击?但是否仍提示您输入凭据,或者是一个免登录的代理服务器?这允许我创建anaconda环境,但我仍然无法使用
conda install安装
conda update -n root conda