Running conda with proxy

前端 未结 6 1845
迷失自我
迷失自我 2020-12-02 10:47

I\'m using Anaconda 2.7 on windows, and my internet connection uses a proxy.

Previously, when using python 2.7 (Not Anaconda), I installed package like this:

相关标签:
6条回答
  • 2020-12-02 10:49

    You can configure a proxy with conda by adding it to the .condarc, like

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

    Then in cmd Anaconda Power Prompt (base) PS C:\Users\user> run:

    conda update -n root conda
    
    0 讨论(0)
  • 2020-12-02 10:56

    The best way I settled with is to set proxy environment variables right before using conda or pip install/update commands. Simply run:

    set HTTP_PROXY=http://username:password@proxy_url:port
    

    For example, your actual command could be like

    set HTTP_PROXY=http://yourname:your_password@proxy.your_company.com:8080
    

    If your company uses https proxy, then also

    set HTTPS_PROXY=https://username:password@proxy_url:port
    

    Once you exit Anaconda prompt then this setting is gone, so your username/password won't be saved after the session.

    I didn't choose other methods mentioned in Anaconda documentation or some other sources, because they all require hardcoding of username/password into

    • Windows environment variables (also this requires restart of Anaconda prompt for the first time)
    • Conda .condarc or .netrc configuration files (also this won't work for PIP)
    • A batch/script file loaded while starting Anaconda prompt (also this might require configuring the path)

    All of these are unsafe and will require constant update later. And if you forget where to update? More troubleshooting will come your way...

    0 讨论(0)
  • 2020-12-02 10:58

    Or you can use the command line below from version 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
    
    0 讨论(0)
  • 2020-12-02 11:00

    One mistake I was making was saving the file as a.condarc or b.condarc.

    Save it only as .condarc and paste the following code in the file and save the file in your home directory. Make necessary changes to hostname, user etc.

    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
    
    0 讨论(0)
  • 2020-12-02 11:06

    You can configure a proxy with conda by adding it to the .condarc, like

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

    or set the HTTP_PROXY and HTTPS_PROXY environment variables. Note that in your case you need to add the scheme to the proxy url, like https://proxy-us.bla.com:123.

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

    0 讨论(0)
  • 2020-12-02 11:14

    I was able to get it working without putting in the username and password:

    conda config --set proxy_servers.https https://address:port
    
    0 讨论(0)
提交回复
热议问题