ChatGPT解决这个技术问题 Extra ChatGPT

使用代理运行 conda

我在 Windows 上使用 Anaconda 2.7,我的互联网连接使用代理。

以前,当使用 python 2.7(不是 Anaconda)时,我安装了这样的包:

pip install {packagename} --proxy proxy-us.bla.com:123

有没有办法使用代理参数运行 conda?在 conda help 中没有看到它。

谢谢


D
David C

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

proxy_servers:
    http: http://user:pass@corp.com:8080
    https: https://user:pass@corp.com:8080

或设置 HTTP_PROXYHTTPS_PROXY 环境变量。请注意,在您的情况下,您需要将方案添加到代理 URL,例如 https://proxy-us.bla.com:123

请参阅http://conda.pydata.org/docs/config.html#configure-conda-for-use-behind-a-proxy-server


谢谢...老实说,我很早就看到了这一点,但是我对命令行解决方案更感兴趣,而无需编辑某些文件...您知道吗?
设置这些环境变量是一个命令行解决方案。
如果您在 SSLError 消息上失败,请确保您设置了 ssl_verify: False。可能是您的雇主正在解密您的连接,因此 SSL 证书不是预期的(中间人攻击)
我会避免设置 ssl_verify: False,除非你知道你的雇主是你中间的一个人。通过禁用 ssl 验证,您完全禁用了确保 conda ia 下载它应该下载的包的安全检查。请记住,conda 下载的包可以运行任意代码!
如果出于安全原因我不想将我的用户名和密码放在 .condarc 中,并且希望在需要时被要求输入它们,我应该怎么做?
s
su79eu7k

或者,您可以使用版本 4.4.x 中的以下命令行

conda config --set proxy_servers.http http://id:pw@address:port
conda config --set proxy_servers.https https://id:pw@address:port

这为我完成了工作! :)
现在可能有点晚了,但我想知道 phyatt 是否有 anaconda 的更新版本?在 4.3.30 我得到 CondaValueError: Key 'proxy_servers.http' is not a known primitive parameter.
这对我有用!很奇怪,当我直接在文件中设置值时,它们无法识别。 (康达 4.8.2)
这适用于 Windows 和 Linux。谢谢你。
我正在我的主机上运行 px (github.com/genotrance/px) 代理,以使用公司防火墙后面的凭据进行身份验证。我的 px 正在侦听端口 3131。我使用 RUN conda config --set proxy_servers.http host.docker.internal:3131 RUN conda config --set proxy_servers.https host.docker.internal:3131 RUN conda env create -f environment.yml
z
zx485

我犯的一个错误是将文件另存为 a.condarcb.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

将 ssl_very 设置为 false 不会引发中间人攻击吗?
K
K.Dᴀᴠɪs

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

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

但是您仍然提示输入您的凭据,还是免登录代理服务器?
F
Frank Wang

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

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 提示,这个设置就消失了,所以你的用户名/密码在会话结束后不会被保存。

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

Windows 环境变量(这也需要第一次重启 Anaconda 提示符)

Conda .condarc 或 .netrc 配置文件(这也不适用于 PIP)

启动 Anaconda 提示时加载的批处理/脚本文件(这也可能需要配置路径)

所有这些都是不安全的,以后需要不断更新。如果你忘记在哪里更新?更多故障排除将出现在您的面前...


这允许我创建 anaconda 环境,但我仍然无法使用 conda install 安装东西
您的用户名/密码仍然存储在命令历史记录中。至少在提示中输入密码会更安全。
also this won't work for PIP 应以粗体和大写字母突出显示
V
Vit

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

proxy_servers:
    http: http://user:pass@corp.com:8080
    https: https://user:pass@corp.com:8080

然后在 cmd Anaconda Power Prompt (base) PS C:\Users\user> 中运行:

conda update -n root conda

S
Sumit Chauhan

在 Mac 上,对我有用的是钥匙串并更新公司内部存储库的密钥密码。