python虚拟环境和包管理工具Pipenv详解

介绍

pipenv能够有效管理Python多个环境,各种包。

过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候处理包之间的依赖总存在问题;

过去也常常用 pip进行包的管理,pip已经足够好,但是仍然推荐pipenv,相当于virtualenv和pip的合体,且更加强大。

pipenv创建虚拟环境后,会在工程目录生成如下两个文件:

  1. Pipfile:用于保存项目的python版本、依赖包等相关信息。该文件可以单独移放到其他项目内,用于项目虚拟环境的建立和依赖包的安装
  2. Pipfile.lock:用于对Pipfile的锁定

特点

  1. pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。
  2. 过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放将包的依赖关系,查看依赖关系是十分方便。
  3. 各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。
  4. 通过加载.env文件简化开发工作流程。
  5. 支持Python2 和 Python3,在各个平台的命令都是一样的。

常用命令

虚拟环境相关

# 安装pipenv
pip3 install pipenv

# 创建虚拟环境
mkdir test
cd test
pipenv install --python 3.8.20

# 激活虚拟环境 
pipenv shell

# 退出虚拟环境
exit

# 删除虚拟环境
pipenv --rm

# 查看工程根目录信息
pipenv --where 

# 查看当前虚拟环境的信息
pipenv --venv

# 查看python解释器的信息
pipenv --py 
 
# 查看环境变量选项
pipenv --envs

配置镜像源

1. 打开项目根目录下的 Pipfile 文件:
vim Pipfile
[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true
name = "pypi"

2. 修改 Pipfile.lock 文件
vim Pipfile.lock
"url": "https://pypi.tuna.tsinghua.edu.cn/simple"

包管理相关

# 使用清华源安装numpy包
pipenv install numpy 

# 如果有requirements.txt文件,可以使用下面命令安装requirements.txt列出的包
pipenv install -r path/to/requirements.txt

# 安装指定版本的numpy
pipenv install numpy~=1.22.3   #等价于 numpy==1.22.3
# 注意,包的版本号可以使用~=、==、>=、 <=、 >、 <、 != 等方式来限制
# 在pipenv中,提倡使用 ~= 标识符而不是 == 标识符,因为后者会阻止 pipenv 更新包

# 查看虚拟环境中安装的包信息
pipenv graph

# 包的删除
pipenv uninstall numpy
posted @ 2025-08-13 23:42  阿峰博客站  阅读(61)  评论(0)    收藏  举报