本文介绍的不是直接装在deepin系统中。因为python虚拟环境下,pip3安装第三方库时,会“污染”系统分区(怎么污染的?本文结尾说)。所以我的系统是deepin,但我把py虚拟环境,安装在虚拟机qemu中。
1.虚拟机中python3没有pip3。先装pip3:
apt install python3-pip 这会安装很多依赖库
2.安装python虚拟环境的工具:
pip3 install virtualenv
pip3 list 可以看到该工具,安装到了全局的依赖存放目录中。
3.在虚拟环境中,安装第三方依赖:
mount /dev/sdb ./env 我是挂载独立磁盘,作为虚拟环境
cd env
virtualenv -p /usr/bin/python3 anyname 其中P参数指向系统的Python3可执行位置,anyname是文件夹的名字,将自动创建
ls anyname 这下面就是虚拟环境
source anyname/bin/activate source这个shell脚本,用来进入环境。脚本中会注册命令deactivate
pip3 install numpy -i https://mirrors.aliyun.com/pypi/simple 把第三方库安装到anyname/lib/site-packages下
which python3 可以看到指向的是虚拟环境里的可执行文件
deactivate 用来退出虚拟环境。执行之后,这个命令就没有了,下次需要再source
4.在IDE中使用虚拟环境
在IDE中选择虚拟环境里的python可执行文件,就可以被IDE调用了。
结尾:为什么说虚拟环境会污染系统?
在虚拟环境中,pip安装numpy 确实只在anyname目录下存放。但是pip安装opencv-python==4.10时,时间很久很久,卡在加粗的那一步,磁盘体积增长也是在这一步,/dev/sdb只增加150MB,系统磁盘增长率1.5GB
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy>=1.13.3 in site-packages (from opencv-python) (1.19.5)
Building wheels for collected packages: opencv-python
Building wheel for opencv-python (pyproject.toml)... \