• 关于conda、虚拟环境、镜像通道、pip、pycharm解释器配置的一些总结


    conda与虚拟环境相关命令

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

    查看conda基本信息

    conda info
    
    • 1

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

    conda env list 
    conda info --envs
    
    • 1
    • 2

    创建虚拟环境

    conda create --name your_env_name python=x.y
    conda activate your_env_name
    conda deactivate
    
    • 1
    • 2
    • 3

    克隆虚拟环境

    1. 根据已有环境名复制生成新的环境
      假设已有环境名为A,需要生成的环境名为B:
    conda create --name B --clone A 
    
    • 1
    1. 根据已有环境路径复制生成新的环境
      假设已有环境路径为D:\A,需要生成的新的环境名为B:
    conda create --name B --clone D:\A
    
    • 1

    生成的新环境的位置在anaconda的安装路径下,例如D:\Users\ZC\anaconda3\envs文件夹下。

    删除指定虚拟环境

    conda remove --name 虚拟环境名 --all
    
    • 1

    或者直接删除环境文件夹(可能会有残余)

    删除指定虚拟环境中某个包

    conda remove --name your_env_name package_name
    
    • 1

    设置国内镜像

    https://Anaconda.org的服务器在国外,安装多个packages时,有时conda下载的速度很慢甚至无法连接。可用国内教育镜像资源,例如中科大或清华TUNA镜像源,将其加入conda的配置即可:

    添加Anaconda的TUNA镜像

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    
    • 1

    添加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/
    
    • 1
    • 2

    设置搜索时显示通道地址

    conda config --set show_channel_urls yes
    
    • 1

    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/
    
    • 1

    msys2

    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
    
    • 1

    bioconda

    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
    
    • 1

    menpo

    conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
    
    • 1

    查看channels

    conda config --show
    
    • 1

    恢复默认镜像(即删除手动配置的全部镜像通道)

    conda config --remove-key channels
    
    • 1

    删除指定channel

    conda config --remove channels
    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    
    • 1
    • 2

    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

    其他一些经验

    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(最新版本)
    
    • 1

    但是有时候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
    
    • 1

    或者中科大PyPI镜像源:(通常更快)

    pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple package
    
    • 1

    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

  • 相关阅读:
    蓝桥杯实战应用【算法代码篇】-一题三解:计算二进制中1的个数(附Java和C++代码)
    从零开始做一款Unity3D游戏<二>——移动,相机控制与碰撞
    [GXYCTF2019]BabyUpload - 文件上传+绕过(后缀&文件类型&文件内容&.htaccess)
    在GPU上运行MATLAB程序
    运算符 - Go语言从入门到实战
    “富二代”极氪,辉煌过后总要独自长大
    生产中遇到的Spring项目Bean的多次加载问题
    NOIP 装箱问题
    PDF流前端如何接收:深度解析与实用策略
    Vue3自定义指令
  • 原文地址:https://blog.csdn.net/qq_22828175/article/details/128038056