在使用python第三方库的过程中,由于python版本不同且很多项目往往会使用到不同版本的第三方库,因此在本地使用“all in”的包管理方案时间久了将是一个巨大的灾难。然而python的虚拟机环境为这一问题提供了很好的解决方案,本文将整理python虚拟环境的常用方法,同时对于虚拟环境,如何处理项目代码位置变化导致包失效的问题。
一、venv安装
python3在windows和mac环境中,已经默认自带了venv,Ubuntu需要自行安装,运行的命令如下:
$ sudo apt-get install python3-venv
二、创建虚拟环境
$ python3 -m venv venvname
#运行完命令后,会在当前目录下创建一个新的文件夹,名为venvname,这个就是虚拟环境的名称,并且我们在虚拟机环境中的所有操作和下载的库文件,
#都会在这个文件夹。
在实际操作过程中,上面的设置可能会在代码位置发生变化后导致venv虚拟环境无法继续使用。因此,一种推荐的方式是将虚拟环境统一创建在用户目录。以Linux为例:
python3 -m venv ~/python_venv/project_name/venv_name
三、激活虚拟环境
#Windows环境下:
your_venv_path\Scripts\activate.bat
#MacOS 或者Linux平台下运行:
source venvs/bin/activate
四、退出虚拟环境
deactivate
注:
- 对于已经在代码同目录创建的venv环境无法加载使用时,可以在代码里使用
sys
库手动添加环境变量
import sys
sys.path.append("your_venv_path")
- 当需要把代码分享给别人的时候可以使用
pip
将当前虚拟环境中的包清单导出
#首先进入对应的虚拟环境
#然后导出
pip3 pip freeze > requirements.txt