美文网首页
conda-使用教程

conda-使用教程

作者: 阿兰先生 | 来源:发表于2021-02-25 22:33 被阅读0次

    在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是环境管理与包管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。

    conda install 和 pip install 区别

    通常我们可以使用conda和pip两种方式来下载和卸载安装包,这里说一下这两种方式使用的区别。conda是一种通用包管理系统,可以构建和管理任何语言的任何类型的软件,因此,它也使用于Python包。pip是Python官当认可的包管理器,最常用于安装在Python包索引(PyPI)上发布的包,网址https://pypi.org/

    即:pip是Python包的通用管理器,conda是一个与语言无关的跨平台环境管理器,对于我们用户来说,最显著的区别是pip在任何环境中安装Python包,conda安装任何环境的任何包。

    注意:Anaconda中base环境中已经集成安装好了conda和pip,所以可以使用两种方式来安装我们想要的python软件包,安装好了软件包在Scripts目录下可以找到。

    PiP常用命令

    pip --version:查看已经安装了的pip版本

    pip install -U pip:升级pip

    pip list 或 pip freeze:查看当前已经安装好了包及版本

    pip install package_name(包名):下载安装包

    pip uninstall package_name(包名): 卸载安装包

    pip show package_name(包名):显示安装包信息(安装路径、依赖关系等)

    conda常用命令

    conda list:查看环境中已经安装了的软件包

    conda env list 或者 conda info -e : 查看当前存在那些虚拟环境

    conda update conda: 检查更新当前的conda版本

    conda install package_name(包名):下载安装包

    conda uninstall package_name(包名): 卸载安装包

    创建虚拟环境

    方式有两种:命令创建和界面创建

    • 命令创建:
      conda create -n your _env_name package_name python=X.X (2.7、3.6等)

    创建python版本为:X.X,不指定时,默认安装最新Python版本

    要安装的包 :package_name 根据需求下载,可不填

    虚拟环境名字为: your _env_name

    注意:your_env_name文件可以在Anaconda安装目录envs文件下找到

    举例:conda create -n myenv numpy matplotlib python=3.7

    界面创建: 电脑开始菜单找到Anaconda Navigator,进入界面之后,选择Environments,选择Create按钮,出现如下界面,填写你要创建的虚拟环境名和Python版本后点击Create,即创建成功。

    image

    删除虚拟环境

    方式有两种:命令删除和界面删除

    • 命令删除
      conda remove -n your_enev_name --all ,即可删除

    删除虚拟环境中的某个包

    conda remove -- name your_enev_namepackage_name(包名)

    或者进入激活虚拟环境后,使用命令 conda uninstall package_name(包名)

    界面删除: 电脑开始菜单找到Anaconda Navigator,进入界面之后,选择Environments,选择你要删除的许环境名,单击remove按钮即成功删除该环境

    激活已经创建的虚拟环境

    Linux :source activate your_env_ name(虚拟环境名)

    Windows:activate your_env_ name(虚拟环境名)

    切换已经创建好了的环境

    activate your_env_ name(你想要切换的虚拟环境名)

    若忘记要名环境,可以使用如下命令先查看当前所有已经创建好了的虚拟环境

    conda env list

    然后再 activate your_env_ name(你想要切换的虚拟环境名)

    退出已经创建的虚拟环境

    Linux :source deactivate your_env_ name(虚拟环境名)

    Windows:deactivate your_env_ name(虚拟环境名)

    使用pip下载安装Python包时速度经常会十分缓慢,这主要是因为国内网络不稳定,解决办法是将pip安装源设置为国内的源即可,下载和速度会大幅度提升,而使用Conda安装时,因为网络原因也会经常出现HttpError的问题,下面就来详细介绍如何解决上述问题的方法。

    pip国内常用镜像源

    阿里云 http://mirrors.aliyun.com/pypi/simple/

    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

    豆瓣(douban) http://pypi.douban.com/simple/

    清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

    中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

    这里推荐使用豆瓣和清华源,因为它们比较稳定

    pip安装临时使用国内镜像源

    可以在使用pip安装时在后面加上 -i 参数,来指定pip源,举例:

    pip install numpy -i https://pypi.douban.com/simple/

    注意:http后面要加s

    永久指定pip默认安装源

    Windows:

    直接在user目录中创建一个pip目录,如:C:\Users\用户名\pip,创建完后再pip 目 录下新建文件pip.ini,添加以下内容:

    [gobal]
    
    timeout = 6000
    index-url = http://pypi.douban.com/simple/
    trusted-host = http://pypi.douban.com
    

    编辑完后进行保存,这样当我们再使用pip来安装时,会默认调用我们设置好了的镜像 源,就不用每次再临时添加。

    Linux:

    修改 ~/.pip/pip.conf (没有就创建一个),和Windows上一样,在pip.conf文件中添加内容后保存

    [gobal]
    
    timeout = 6000
    index-url = http://pypi.douban.com/simple/
    trusted-host = http://pypi.douban.com
    

    conda切换源

    在conda安装好之后,默认的镜像是官方的,由于官网的镜像在境外,访问太慢或者不能访问,为了能够加快访问的速度,首先在命令行中打开虚拟环境,输入以下命令(设置清华的镜像)

    终端中运行命令:

    (1)清华源(TUNA)

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    
    conda config --setshow_channel_urls yes
    

    (2)中科大源(USTC)

    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
    
    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
    
    conda config --setshow_channel_urls yes
    

    然后更改镜像源配置文件,在用户home目录下,找到 .condarc 配置文件,如C:\Users\用户名.condarc,右键选择记事本打开编辑,删掉channels下面的 -defaults一行,或者在其前面加#号注释掉。

    换回默认源:

    • conda config --remove-key channels

    Conda 提供了多种保存和移动环境的方法。

    Clone

    在本地,conda 可以方便地创建环境的快照或者备份:

     conda create --name snapshot --clone myenv
    

    Spec List

    如果需要在具有 相同操作系统 的计算机之间复制环境,则可以生成 spec list。这是离线打包。

    生成 spec list 文件:

     conda list --explicit > spec-list.txt
    

    重现环境:

     conda create  --name python-course --file spec-list.txt
    

    Environment.yml

    也可以使用 -export 选项生成一个 environment.yml 文件,以在 不同的平台和操作系统之间 复现项目环境。 spec list 文件和 environment.yml 文件之间的区别在于: environment.yml 文件不针对特定操作系统,并且使用YAML格式。 environment.yml 仅列出了软件包名称,由 conda 基于软件包的名称构建环境。 另一个区别是 -export 还包括使用pip安装的软件包,而 spec list 则没有。

    导出 environment.yml 文件:

     conda env export > environment.yml
    

    注意:如果当前路径已经有了 environment.yml 文件,conda 会重写这个文件

    重现环境:

     conda env create -f environment.yml
    

    Conda Pack

    Conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。 当您想在有限或没有网络访问的系统中重现环境时,此功能很有用。上面的方法均从其各自的存储库下载软件包以创建环境。而此方法不需要。注意,conda-pack 指定平台和操作系统,目标计算机必须具有与源计算机相同的平台和操作系统。

    要安装 conda-pack,请确保您位于 root 或 base 环境中,以便 conda-pack 在子环境中可用。Conda-pack 可通过 conda-forge 或者 PyPI 安装。

    conda-forge:

     conda install -c conda-forge conda-pack
    

    PyPI:

     pip install conda-pack
    

    打包一个环境:

    # Pack environment my_env into my_env.tar.gz
    conda pack -n my_env
    
    # Pack environment my_env into out_name.tar.gz
    conda pack -n my_env -o out_name.tar.gz
    
    # Pack environment located at an explicit path into my_env.tar.gz
    conda pack -p /explicit/path/to/my_env
    

    重现环境:

    # Unpack environment into directory `my_env`
    mkdir -p my_env
    tar -xzf my_env.tar.gz -C my_env
    
    # Use Python without activating or fixing the prefixes. Most Python
    # libraries will work fine, but things that require prefix cleanups
    # will fail.
    ./my_env/bin/python
    
    # Activate the environment. This adds `my_env/bin` to your path
    source my_env/bin/activate
    
    # Run Python from in the environment
    (my_env) $ python
    
    # Cleanup prefixes from in the active environment.
    # Note that this command can also be run without activating the environment
    # as long as some version of Python is already installed on the machine.
    (my_env) $ conda-unpack
    

    Summary

    Conda 提供了多种复制项目环境的方法。 创建环境的克隆可以提供定制的基本环境或该环境的快照。spec listconda-pack 可创建特定于平台和操作系统的环境副本。 其中 spec list 使用网络来下载环境中特定的软件包,而 conda-pack 可以打包包括软件包二进制文件在内的整个环境,这在带宽不足或没有网络的情况下很有用。 Conda导出 environment.yml 的方式非常适合在不同平台和操作系统之间重新创建环境。

    更多详情请见 docs.conda.ioconda-pack project page.

    相关文章

      网友评论

          本文标题:conda-使用教程

          本文链接:https://www.haomeiwen.com/subject/qhtsfltx.html