• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

conda、虚拟环境envs、镜像通道mirrors channels、pip、pycharm解释器配置interpreter config的

武飞扬头像
山高月小 水落石出
帮助1

conda与虚拟环境相关命令

当某个环境所安装的包与其他环境安装的包会相互冲突,或者想要单独定义一个完成某特定任务的环境时,通常需要用到虚拟环境。

查看conda基本信息

conda info

查看当前存在哪些虚拟环境

conda env list 
conda info --envs

创建虚拟环境

conda create --name your_env_name python=x.y
conda activate your_env_name
conda deactivate

克隆虚拟环境

  1. 根据已有环境名复制生成新的环境
    假设已有环境名为A,需要生成的环境名为B:
conda create --name B --clone A 
  1. 根据已有环境路径复制生成新的环境
    假设已有环境路径为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

conda config channels

关于conda通道的配置问题

方法一

当需要在虚拟环境中安装最新的大版本python时,先config conda-forge的镜像通道;或者需要conda install 特定的包时,先config 对应指定的镜像通道;安装配置完成后,再conda config --remove-key channels,删除这些通道,恢复默认,以防后续出现安装或升级包时出现一些不兼容的报错。

方法二

配置conda channels的默认顺序,一般比较保险的原则是:先官方通道,然后附加库,然后镜像库A,然后镜像库B等,例如
学新通

方法三

当默认通道下载速度慢时,可用临时指定的通道,来下载安装包或升级包,例如:

conda update --all --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

其他一些经验

1. conda中升级python的大版本和小版本

使用 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中可安装最新版。

2. 从python官网下载安装,并安装该环境中的包

也可以从python官网中直接下载安装最新版,只是需要从该安装路径下,去安装该解释器环境的相关包。例如可以cd到带python.exe的安装目录,再用python -m pip install 模块名。

3. pip的镜像加速下载

当安装较大的包时,pip通常下载较慢,最好使用临时镜像通道,而不去配置默认镜像通道。例如[清华TUNA PyPI镜像源](可能较慢)(https://mirrors.tuna.tsinghua.edu.cn/help/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的解释器也切换为相同的。
学新通

在pycharm中新建或配置虚拟环境

学新通
当选择用pycharm新建虚拟环境时,location一般是到某个项目的文件夹下,base interpreter可以选择conda的python主解释器,也可以选择conda某个虚拟环境下的python解释器,也可以选择将要从python官网下载的不同大版本的解释器,也可以选择从官网下载已安装的python解释器。

在pycharm中新建或配置conda(虚拟)环境

学新通
当interpreter选择默认的 new virtualenv时,就是在pycharm中新建conda的虚拟环境。此时就需要在conda envs的默认路径下新建一个文件夹并命名,该文件夹就用来放虚拟环境。然后选择这个虚拟环境的python大版本,以及conda的可执行文件。这个操作就相当于:conda create --name your_env_name python=x.y,只是在pycharm的对话框中进行而已。

此界面中的interpreter也可以选择conda已有的默认python解释器,或者已建立的虚拟环境中的解释器,这时就相当于使用conda base环境,或者conda activate your_env_name。

指定系统解释器

学新通
当已有为不同项目足够使用的不同python大版本的环境时,也可以为每个项目都指定不同的系统解释器,而不必再去新建或配置pycharm的、或conda的环境了,因为环境新建和配置的工作之前已经做了,现在要编写不同环境需求的项目脚本时,就直接以切换系统解释器的方式使用就行。

参考资料:

https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
https://docs.python.org/3/tutorial/venv.html
https://pycaret.gitbook.io/docs/get-started/installation

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfkhkg
系列文章
更多 icon
同类精品
更多 icon
继续加载