Anaconda 与 venv

Anaconda

适合电脑中有多个版本python共存的场景
Anaconda中的python和安装的第三方模块,都在Anaconda自己的路径下,不影响系统已安装的Python目录。

  • 在Anaconda的命令行窗口中,python指向自己自带的Python。
安装与使用

Windows系统在官网下载后直接安装即可。
Linux系统可以先下载安装包并拷贝到系统内,执行bash Anaconda3-2022.10-Linux-x86_64.sh,最后根据提示输入yes即可。

  • Anaconda Navigator是图形化界面
  • Anaconda (Powershell) Prompt 是命令行界面(默认base环境)
配置环境变量

无需手动配置,进入conda命令行输入指令即可自动配置
配置完成后用户进入命令行时会自动进入base环境,可输入conda config --set auto_activate_base false取消该功能

  • Linux版
    conda init(安装步骤中可选择yes以自动执行该指令)
  • Windows版
    conda init powershell
    conda init cmd.exe
在VSCode中使用
  1. 为VSCode安装python插件
  2. CTRL+P或CTRL+SHIFT+P,输入>python:select interpreter,选择conda的环境
在supervisor中使用

supervisor中默认的python依然是系统环境变量中的python,如要用conda环境需要如下操作:command=bash -c "source /home/xxx/anaconda3/bin/activate flask && gunicorn -w 2 -b 0.0.0.0:1800 --access-logfile /home/xxx/mybin/flaskapp/logs/access.log 'wsgi:app'"

包的安装与迁移

conda子环境中可以通过conda install也可以通过pip install安装包。

  • conda install
    安装到anaconda3/pkgs下,其他子环境通过conda install再次安装该包时无需重复下载
    通过conda env export > xxx.yml指令可将安装的包导出为一个yml文件
  • pip install
    安装到anaconda3/envs/当前子环境/lib/python3.x/site-packages
    通过pip freeze > requirements.txt指令导出

通过python -m site可查看依赖路径优先级,决定两环境都有时优先从哪里导入,默认为anaconda3/pkgs优先

其他常用指令

在cmd中需要输入conda前缀,在conda中可以省略

  • 查看版本 conda --version
  • 升级版本 conda update conda
  • 帮助信息 conda --help
  • 创建一个名为MyPython3的子环境,其中拥有python3.7.4、numpy、Django2.2包。(如果不指定python版本则默认安装当前anaconda具有的版本)
conda create -n MyPython3 python=3.7.4 numpy Django=2.2
proceed([y]/n)? y 
  • 切换到子环境 conda activate 环境名
  • 退出到系统环境 conda deactivate
  • 查看子环境列表 conda env list
  • 删除环境 conda remove --name <env_name> --all
  • 复制环境 conda create --name <new_env_name> --clone <copied_env_name>
  • 精确查找包 conda search --full-name <package_full_name>
  • 模糊查找包 conda search <text>
  • 获取当前环境已安装包 conda list
  • 在当前环境安装包(也可以用pip) conda install <package_name>
  • 从当前环境卸载包 conda remove <package_name>
  • 更新所有包 conda update --all
  • 更新指定包 <package_name>

venv

适合电脑中只有一个python版本,但多个版本第三方库共存的场景

安装与使用
  • Python内置了venv模块,通过python -m venv 环境名创建一个新目录
    目录中包含当前python解释器、pip执行文件的拷贝,但不包含当前环境中的第三方库。该python引用的路径和pip包的安装路径,都会变成指向该目录。
  • 执行环境名/Scripts/activate进入虚拟环境
  • 执行环境名/Scripts/deactivate退出虚拟环境
在VSCode中使用
  1. 为VSCode安装python插件
  2. CTRL+P或CTRL+SHIFT+P,输入>python:select interpreter,选择venv的环境
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容