Python中最近使用conda创建环境好用吗?

本来以为 GFW 是暂时性的抽疯,封了 Anaconda 的官网,结果貌似封了两个月,现在只能靠着 proxychains 来做更新。

4 月之前创建一个 conda 环境,下载包的时候本来就慢,优化点是 channle 添加国内 但是 4 月之后,在创建开发环境的时候,就各种报超时,都到不了下载包那一步。

比如

conda create -name py3test python=3

执行结果

Fetching package metadata …

CondaHTTPError: HTTP None None for url <https://conda.anaconda.org/conda-forge/osx-64/repodata.json> Elapsed: None

An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent, and a simple retry will get you on your way. ConnectionError(MaxRetryError(“HTTPSConnectionPool(host=‘conda.anaconda.org’, port=443): Max retries exceeded with url: /conda-forge/osx-64/repodata.json (Caused by NewConnectionError(’<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x10fb9e410>: Failed to establish a new connection: [Errno 65] No route to host’,))”,),)

本机的 conda info 如下

               platform : osx-64
          conda version : 4.3.21
       conda is private : False
      conda-env version : 4.3.21
    conda-build version : 0+unknown
         python version : 2.7.12.final.0
       requests version : 2.14.2
       root environment : /Users/chenxi/anaconda  (writable)
    default environment : /Users/chenxi/anaconda
       envs directories : /Users/chenxi/anaconda/envs
                          /Users/chenxi/.conda/envs
          package cache : /Users/chenxi/anaconda/pkgs
                          /Users/chenxi/.conda/pkgs
           channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/osx-64
                          https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                          https://conda.anaconda.org/conda-forge/osx-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.continuum.io/pkgs/free/osx-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/osx-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/osx-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : /Users/chenxi/.condarc
             netrc file : None
           offline mode : False
             user-agent : conda/4.3.21 requests/2.14.2 CPython/2.7.12 Darwin/16.6.0 OSX/10.12.5
                UID:GID : 501:20

暂时的解决方法是通过 proxychains 来做更新,但是感觉好恶心

大家有没有类似的情况,是咋解决的?


Python中最近使用conda创建环境好用吗?

15 回复

清华源


Conda创建环境一直很好用,特别是管理包依赖和隔离项目环境。它不仅能处理Python包,还能管理非Python的库和工具,这点比venv强。如果你项目里混用了Python、R或者需要特定版本的C库,conda环境是首选。

不过要注意,conda和pip混用有时候会出问题,最好在conda环境里先用conda install,找不到再用pip。另外,conda的包可能比PyPI更新慢一些。

总结:需要多语言依赖或严格环境隔离就用conda,纯Python项目venv更轻量。

换清华源




channle 里面有清华源啊,

你们说的换源,是指这两行吗,

<br>conda config --add channels '<a target="_blank" href="https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'" rel="nofollow noopener">https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'</a><br>conda config --set show_channel_urls yes<br>

记得把默认的源删了,不然还是回去请求的

对比 pip,有何优势?

没有这样用过, 直接下载一个完整的 anaconda 全部安装

conda create -name py3test python=3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

加上一个-c 参数,代表了 channel。

都是编译好的,pip 有时候还得编译

我看这个是 additional channel,还是超时啊

如果还是超时,就需要将自己原有默认的那些 channel 先删掉,还有那个 alias 也需要改成清华的源。
conda config --show 用这个指令,可以看到当前所有的设定。
conda config --set channel_alias https://conda.anaconda.org 这个指令用于设定 channel_alias 的内容,不要尝试删除
conda config --add channels https://conda.anaconda.org 和 conda config --remove channels https://conda.anaconda.org 分别是添加和删除现有 channel 的指令,放心,随便删,以后再添加回来就好了。如果还不行,加我微信,754972247。(专治 anaconda 各种不服)


conda 对比 pip 有啥优势?

可能科学计算的的人比较感兴趣

你给 ubuntu 装几个版本的 sklearn 你就懂了,,,

太牛逼了

然后貌似现在官网换地址了,现在是可以直接搞了,但是你这个方法真的很灵

补充一下

先要调用一下 conda config --show 来看看 channels 这个配置下面有啥

我的是这样三个

channels:
- anaconda-fusion
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults

除了第二行剩下的都是墙外发服务器
然后分别执行

conda config --remove channels 'defaults'
conda config --remove channels 'anaconda-fusion'

就好了,,速度飞快

首先,conda 集成了用于科学计算的那几个大包,非常方便,要安装,用 conda install xxx 包,升级就是 conda update xxx 包,如果不想一个一个的来,直接 conda install --all,就全好了,而且里面不光有 python,还有 R,RStudio,而且最新的 tensorflow,skflow 等等,都可以一键安装。不用一个一个的下载依赖库。

搞定了哈,恭喜^_^

回到顶部