anaconda / conda——Python环境管理工具

anaconda / conda

国外资源下载慢,使用国内清华镜像,在提供的下载页面中选择对应系统、pytho版本的安装包,Anaconda2-xxx对应Python 2.x,而Anaconda3-xxx对应python 3.x。如选择Anaconda2-4.3.1-Linux-x86_64.sh,下载完成后,执行此程序./Anaconda2-4.3.1-Linux-x86_64.sh,根据提示输入yes同意license,然后设置安装目录,之后可输入yes同意将anaconda工具程序加入PATH变量,然后完成安装。

python 3和pytho2需下载对应版本anaconda3和anaconda2的安装包,下载地址

配置国内镜像

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 --set show_channel_urls yes
#查看设置的通道
conda config --show channels
#删除源
conda config --remove channels <url>

配置信息存储到~/.condarc中,channel是有序的。

conda可以设置每次创建环境时默认加入的包,也可禁止创建默认包(--no-default-packages)。


#创建环境(执行命令前请确保不处于任何conda环境,否则极可能创建失败,通过`conda deactivate`退出当前环境)
conda create -n|--name [env-name] [dependent package list, pkg1 pkg2=version pkg3...]
conda create --name py36 python=3.6

# list all envs
conda env list
conda info --envs

# remove env
conda env remove -n <env-name> --all

# activate env
source activate ENV_NAME
conda activate ENV_NAME    # conda 4.6+
# activate env from full path
conda activate /path/to/env-dir/
#deactivate env
source deactivate
conda deactivate    # conda 4.6+
# activate an env in a bash script
source /path/to/conda_home/bin/activate <env-name>

#重命名:不支持。可通过克隆+删除原环境实现
#复制环境 clone env
conda create -n <new-name> --clone <from-env>

#print version of python in current env
python --version
conda list python

conda ... -y # -y选项表示命令无需控制台提示确认

# install package in env  安装依赖包
conda install [pkg[=version]] [-n <env>]
#卸载依赖包 remove等同uninstall
conda uninstall <pkg>
conda remove <pkg>
# offline mode
conda remove --ofline ...

# package info
conda info <pkg-name>

# list packages in (currently active) env
conda list [-n <env-name>]
#打印指定包的版本
conda list <package-name>  #模糊匹配
conda list --full-name <package-name>  #精确匹配

# search; list all avaialable versions
conda search [--full-name] <package-name>

# install dependencies by requirements.txt
pip install -r /path/to/requirements.txt
#导出依赖版本信息到文件requirements.txt
pip freeze > requirements.txt
# conda requirements.txt
conda list -e > requirements.txt
conda install -y --file requirements.txt


# pack env
conda pack -n ENV_NAME -o /path/to/out.tar.gz
conda pack -p /path/to/my_env -o /path/to/out.tar.gz

# unpack
tar -xzvf /path/to/my-pack.tar.gz -C /path/to/unpack-dir
/path/to/unpack-dir/bin/activate
conda-unpack    # already being in my_env


# update packages
conda update PACKAGE
# update all
conda update --all
# update all except python
conda update --all --dry-run 2>/dev/null |
    grep -Fe '-->' |
    cut -d' ' -f3 |
    grep -ve 'python' |
    xargs conda update
    

conda vs. pip

pip只是一个包管理工具,不同于conda,是无法识别环境的,而且无法更新python,pip认为python不是一个包。但pip可以安装一些conda无法安装的包,pip已经随着anaconda和minconda安装好了。

问题及方案

激活环境报错:“source: Error encountered while sourcing file “activate”:<\n>source: No such file or directory”

conda的activate文件(/usr/lib/anaconda3/bin/activate)是否在PATH路径中?shell程序是否是bash?

posted @ 2022-07-06 23:27  二球悬铃木  阅读(98)  评论(0编辑  收藏  举报