在Windows中安装pipenv虚拟环境
pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。
过去使用virtualenv管理requirements.txt文件可能会有问题,pipenv使用 Pipfile
和 Pipfile.lock
,前者用来记录项目依赖包列表,后者记录了固定版本的详细依赖包列表,cake依赖关系十分方便
安装pipenv
安装命令:
pip install pipenv
创建虚拟环境
格式:
pipenv install [--dev]
说明:
- 如果
install
后面有包名,就是安装包,如果没有就是创建虚拟环境(虚拟环境创建好后,会生成两个文件Pipfile
和Pipfile.lock
) - 在任意目录下执行此命令都可以创建虚拟环境,不受目录限制
--dev
参数指定安装dev环境的包,需要配合Pipfile
和Pipfile.lock
文件使用,一般用于环境恢复
例1:
由于pipenv创建虚拟环境需要在目录里面,因此我们创建两个虚拟环境的目录,然后切换到目录中
E:\Programs\.env>mkdir env_01
E:\Programs\.env>mkdir env_02
E:\Programs\.env>cd env_01
E:\Programs\.env\env_01>pipenv install
Pipfile文件
在 Pipfile
文件中,存储的是一些包的分类信息和当前的Python版本
url
:pip的安装软件的源
packages
:安装软件时默认安装的位置
dev-packages
:如果需要临时调试,只在开发环境使用,在安装时添加 --dev
参数,就会安装在此目录下,
requires
:
[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "3.8"
修改pipenv的安装软件源,将url的地址换掉即可
将 url = "https://pypi.org/simple"
替换为想要的源 https://pypi.tuna.tsinghua.edu.cn/simple/
Pipfile.lock文件
该文件存储的是,软件包的具体版本和一些依赖关系,他是经过 sha256
加密的,我们一般不能修改这个文件里的内容,该文件中也有一个url,他可以通过Pipfile中的url自动更新
删除虚拟环境
虚拟环境的恢复使用 -- rm
参数
格式:
pipenv --rm
删除上面的env_01虚拟环境
例1:
E:\Programs\.env\env_01>pipenv --rm
Removing virtualenv (E:\Programs\.env\env_01-oFODw3Ub)...
环境的恢复
如果我们将项目开发完成后,需要部署到服务器,我们可以将这两个文件存放到对应的目录,然后运行 pipenv install
会自动将环境恢复
格式:
pipenv install
例1:
在上面我们创建了两个虚拟目录,env_02 还是空的,下面用这个目录来进行恢复
# 先安装一个包,然后将文件复制到env_02目录中,删除env_01虚拟环境
E:\Programs\.env\env_01>pipenv install requests
E:\Programs\.env\env_01>pipenv --rm
E:\Programs\.env\env_01>cd ../env_02 # 切换到env_02目录中,通过手动复制了两个文件到当前目录
E:\Programs\.env\env_02>pipenv install # 恢复环境
安装包
格式:
pipenv install 包名
卸载包
格式:
pipenv uninstall 包名
查看包的依赖关系
格式:
pipenv graph
生成requirements.txt文件
格式:
pipenv lock -r --dev > requirements.txt
通过requirements.txt文件安装环境
格式:
pipenv install -r requirements.txt
虚拟环境中的两个文件说明
Pipfile文件:
[[source]]
url = "https://pypi.org/simple" # 包下载地址,可修改为国内的源
verify_ssl = true # 验证
name = "pypi" # 源名称
[packages] # 安装的包,默认安装的位置
[dev-packages] # 开发环境的包,安装时指定 --dev安装的包会出现在此处
[requires]
python_version = "3.8"
Pipfile.lock文件:
该文件是经过加密的,不建议修改
{
"_meta": {
"hash": {
"sha256": "7f7606f08e0544d8d012ef4d097dabdd6df6843a28793eb6551245d4b2db4242"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.8"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {},
"develop": {}
}
命令汇总
pipenv shell 进入虚拟环境的shell界面(进入后exit命令退出)
pipenv --where 列出本地工程路径
pipenv --venv 列出虚拟环境路径
pipenv --py 显示Python解释器信息
pipenv install 创建虚拟环境
pipenv isntall [moduel] 安装包
pipenv install [moduel] --dev 安装包到开发环境
pipenv uninstall[module] 卸载包
pipenv uninstall --all 卸载所有包
pipenv graph 查看包依赖
pipenv lock 生成lockfile
pipenv run python [pyfile] 运行py文件
pipenv --rm 删除虚拟环境