目录
- conda与虚拟环境相关命令
- 查看当前存在哪些虚拟环境
- 创建虚拟环境
- 克隆虚拟环境
- 删除指定虚拟环境
- 删除指定虚拟环境中某个包
- 设置国内镜像
- 添加Anaconda的TUNA镜像
- 添加USTC仓库镜像
- 设置搜索时显示通道地址
- Conda 附加库
- 查看channels
- 恢复默认镜像(即删除手动配置的全部镜像通道)
- 删除指定channel
- 其他一些经验
- Pycharm中配置不同python解释器到项目或console
- 配置控制台的解释器及其对应环境
- 给不同的项目配置想要的解释器及其对应环境
conda与虚拟环境相关命令
当某个环境所安装的包与其他环境安装的包会相互冲突,或者想要单独定义一个完成某特定任务的环境时,通常需要用到虚拟环境。
查看当前存在哪些虚拟环境
conda env list
conda info --envs
创建虚拟环境
conda create --name your_env_name python=x.y
克隆虚拟环境
- 根据已有环境名复制生成新的环境
假设已有环境名为A,需要生成的环境名为B:
conda create --name B --clone A
- 根据已有环境路径复制生成新的环境
假设已有环境路径为D:\A,需要生成的新的环境名为B:
conda create --name B --clone D:\A
生成的新环境的位置在anaconda的安装路径下,例如D:\Users\ZC\anaconda3\envs文件夹下。
删除指定虚拟环境
conda remove --name 虚拟环境名 --all
或者直接删除环境文件夹(可能会有残余)
删除指定虚拟环境中某个包
conda remove --name $your_env_name $package_name
设置国内镜像
https://Anaconda.org的服务器在国外,安装多个packages时,有时conda下载的速度很慢甚至无法连接。可用国内教育镜像资源,例如中科大或清华TUNA镜像源,将其加入conda的配置即可:
添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
添加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 --set show_channel_urls yes
Conda 附加库
有些包使用conda只能从指定channel的附加库中安装,如fitter用conda安装时只能从bioconda channel,或者有时想要安装最新版python时只能从conda-forge,这时需要配置附加库。下面以中科大附加库为例:
Conda Forge
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
msys2
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
bioconda
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
menpo
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
查看channels
conda config --show
恢复默认镜像(即删除手动配置的全部镜像通道)
conda config --remove-key channels
删除指定channel
conda config --remove channels
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
所以一个更快速更保险的推荐是,当需要在虚拟环境中安装最新的大版本python时,先config conda-forge的镜像通道;或者需要conda install 特定的包时,先config 对应指定的镜像通道;安装配置完成后,再conda config --remove-key channels,删除这些通道,恢复默认,以防后续出现安装或升级包时出现一些不兼容的报错。
其他一些经验
- 使用 conda update --all 或者 conda update python 只能升级python的小版本,例如从3.x.y 到 3.x.y+;如果想升级大版本,例如从3.x 到 3.x+,可以用 conda install python=3.11;但直接在base环境中安装最新版,可能出现与有些已安装包的版本不兼容问题,例如:
所以最好是在新建的空的虚拟环境中安装最新版python最保险:
conda create --name your_inv_name python=3.11(最新版本)
但是有时候python最新版在常规通道中不能获取,这时需要配置conda-forge通道,从conda-forge中可安装最新版。
- 也可以从python官网中直接下载安装最新版,只是需要从该安装路径下,去安装该解释器环境的相关包。例如可以cd到带python.exe的安装目录,再用python -m pip install 模块名。
- 当安装较大的包时,pip通常下载较慢,最好使用临时镜像通道,而不去配置默认镜像通道。例如清华TUNA PyPI镜像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
或者中科大PyPI镜像源:
pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple package
Pycharm中配置不同python解释器到项目或console
当安装了anaconda、create了虚拟环境、从python官网也有下载安装python时,就有多个解释器及其对应的环境可以选择,以适应不同项目的要求。在pycharm中可以方便地指定或切换解释器及其对应环境:
配置控制台的解释器及其对应环境
在设置中搜索控制台,选择构建、执行、部署中的控制台,在Python解释器中选择想要的python安装目录下的解释器,选定之后对应的环境也会选定。但最好是选择跟项目相同的解释器环境,为了在console中调试脚本时不会出现包和版本的报错问题。
给不同的项目配置想要的解释器及其对应环境
当有不同的项目需要配置不同的解释器环境时,就可以在项目中选择需要的解释器。下图是anaconda的默认解释器及其环境,虚拟环境中的python.exe一般在anaconda3\envs\your_env_name下,官网安装的python就在对应的安装路径下。注意当项目的解释器切换时,如果要用到console,最好将console的解释器也切换为相同的。