让项目运行在一个独立的局部的 Python 环境中,使采用不同环境的项目互不干扰。
virtualenv
pip install virtualenv
创建
# 创建名为 ENV 的虚拟环境
virtualenv ENV
创建后在当前路径下生成名为ENV
的文件夹。
可选参数
# 指定 Python 版本
-p
# 继承系统三方库
--system-site-packages
进入/退出
进入虚拟环境可执行ENV/Script/activate
脚本。
# linux
cd ENV
source bin/activate
# windows
ENV/Script/activate.bat
退出时执行ENV/Script/deactivate
脚本。
# linux
deactivate
# windows
ENV/Script/deactivate.bat
删除
直接删除对应的目录即可。
项目交付
方案一:
- 连同虚拟环境和项目一起拷贝给他人
方案二:
- 在虚拟环境中,冻结依赖需求文本
- 把项目和依赖需求文本给他人
- 他人在本地创建一个新的虚拟环境,并根据依赖需求文本安装相关库
# 冻结项目需求文本
pip freeze > requirements.txt
# 安装项目依赖库
pip install -r requirements.txt
virtualenvwrapper
pip install virtualenvwrapper
对 virtualenv 的使用封装,更加方便的去使用 virtualenv。包的安装及虚拟环境的操作依然是分离的。并未具备对项目包的依赖管理及需求文本的生成操作封装。
创建并激活
mkvirtualenv venv1
虚拟环境中切换
workon venv2
关闭
deactivate
删除
rmvirtualenv env1
列出所有已创建
lsvirtualenv
pipenv
pip install pipenv
基于项目的虚拟环境管理。
- 是 pip + virtualenv 结合体,解决了 virtualenvwrapper 弊端
- 自动帮你创建虚拟环境,以及安装三方库
- 自动的记录你的项目依赖的所有三方库
- 使用 pipfile 和 pipfile.lock取代了 requirements.txt
创建
# cd 到项目文件夹
pipenv --two
# 或者
pipenv --three
# 查看位置:
pipenv --where
# 查看虚拟环境位置:
pipenv --venv
# 查看解析器信息:
pipenv --py
激活
# 项目文件夹下
pipenv shell
激活后使用pipenv
代替pip
,如:
pipenv install requests
安装依赖后会生成Pipfile
和Pipfile.lock
文件。
查看依赖结构
pipenv graph
退出
exit
# 或者直接关闭 shell
删除
# cd 进 pipfile 文件的目录
pipenv --rm
项目交接
上传:
应该包括文件有:
- 包和模块源码
- Pipfile 和 Pipfile.lock
拿到共享:
- cd 进入获取的项目文件夹目录内
- 检查项目是否具有Pipfile 和 Pipfile.lock 文件
- 执行命令:
pipenv install