python的虚拟环境可以为项目创建一个独立的环境,能够解决使用不同版本依赖给项目带来冲突的麻烦。创建虚拟环境的方式有很多种,pipenv会自动帮你管理虚拟环境和依赖文件,并且提供了一系列命令和选项来帮忙你实现各种依赖和环境管理相关的操作。
1.安装pipenv
pip install pipenv
2.Pipfile文件和Pipfile.lock文件
Pipfile文件和Pipfile.lock是在创建虚拟环境时生成的,用来记录安装依赖的信息,Pipfile时用来替代pip的requirements.txt的。
Pipfile.lock包含你的系统信息,所有已安装包的依赖包及其版本信息,以及所有安装包及其依赖包的hash校验信息。
3.创建虚拟环境
$ cd myproject
//创建python3.7的虚拟环境
$ pipenv --python 3.7
创建虚拟环境会默认查找当前目录有没有.venv目录,如果没有会默认在home目录用户下的/Users/xxxx/.local/share/virtualenvs创建虚拟环境目录。推荐先在项目下创建一个.venv文件夹,然后再创建虚拟环境。
如果不存在pipfile,会生成一个piffle,并且如果有的库添加会自动编辑这个文件。
4.激活/进入pipenv shell
$ pipenv shell
$ python --version
//根据Pipfile进行依赖安装,忽略Pipfile.lock
$ pipenv install --skip-lock
//安装指定版本模块
$ pip install pymongo==xxx
根据Pipfile进行依赖包安装。
确认已进入虚拟环境
1. pip查看安装包
PS D:\httprunner\demo> pip list
Package Version
------------------ --------
certifi 2024.2.2
charset-normalizer 3.3.2
idna 3.6
pip 24.0
requests 2.31.0
urllib3 2.2.1
2. pipenv shell 提示重复
PS D:\httprunner\demo> pipenv shell
Loading .env environment variables...
Shell for C:\Users\Administrator\.virtualenvs\demo-ZOtNoRg9 already activated.
New shell not activated to avoid nested environments.
5.退出虚拟环境
$ exit 或者 ctrl+d
6.查看已经安装的依赖
$ pipenv graph
7.更新升级包
$ pipenv update requests
8.通过requirements.txt安装虚拟环境
pipenv install -r requirements.txt
9.生成requirements.txt文件
pipenv lock -r [--dev] > requirements.txt
10.删除虚拟环境
pipenv --rm
扩展阅读:https://rgb-24bit.github.io/blog/2018/pipenv.html