Python conda和venv

629 阅读2分钟

如果说venv是虚拟环境管理器,pip是包管理器,那么conda则是两者的结合。
pip只能安装Python的包,conda可以安装一些工具软件,即使这些软件不是基于Python开发的。
一般使用venv会在该项目下创建虚拟环境,再而conda每个虚拟环境不会占用项目文件夹的空间,它创建在用户设定的一个位置,这使得多个项目共享一个虚拟环境更加方便(只是方便,venv也是可以的,但是venv一般占用项目文件夹空间,而且venv命令行使用具有局限性)。
conda虚拟环境是独立于操作系统解释器环境的,即无论操作系统解释器什么版本(哪怕2.7),也可以指定虚拟环境python版本为3.6,而venv是依赖主环境的。

Anaconda基本使用

  • 配置Anaconda源

通常anaconda的默认源在境外,下载速度会非常慢甚至导致网络错误下载包失败,打开Anaconda Prompt使用以下方法将清华镜像添加到anaconda

conda config --add channels 

#阿里云
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main

conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r

conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2

conda config --set show_channel_urls yes

#清华云
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 info命令查看当前channel

安装python3.7

conda create -n py37 python=3.7.9

查看当前conda所有环境

conda info --envs

在下面显示的就是当前有的conda环境,可以看见new这个环境创建成功。

  • 激活你的环境
Conda activate 环境名
Source activate 环境名
activate + 环境名

可以看见前面变成了(py37),也就是我们成功进入了py37的环境。

在py37里面,我们所有工具包都存放在这个环境。

  • 在你的环境中用conda或者pip安装包
Conda install 包名称
或者pip install 包名称 -i https://pypi.tuna.tsinghua.edu.cn/simple(清华镜像)
或者pip install 包名称 -i  https://pypi.doubanio.com/simple/ (豆瓣镜像)

查看环境中现有的包

Conda list
pip list

退出当前环境

conda deactivate

删除环境

conda remove -n 环境名 --all

Anaconda 32和64兼容

1、查看系统位数。

conda info

2、切换成32位的

set CONDA_FORCE_32BIT=1

3、安装32位的python3.7

conda create -n py37_32 python=3.7.9

4、切换回到64位

set CONDA_FORCE_32BIT=0

venv基本使用

安装

pip3 install virtualenv

创建python3的虚拟环境

# virtualenv -p [指定的python路径] [虚拟环境名] 
virtualenv -p /usr/bin/python3 env-py3

激活并进入虚拟环境

source env-py3/bin/activate

虚拟环境安装python包

直接pip即可,务必不能使用sudo,否则会下载在本地环境中。

pip install xxx

退出虚拟环境

deactivate env-py3

删除虚拟环境

直接rm文件夹即可。

rm env-py3