pipenv是基于pip的python包管理工具,它和pip的用法非常相似,可以看做pip的加强版,它的出现解决了旧的pip+vitualenv+requirements.text的工作方式的弊端。它让包安装、包依赖管理和虚拟环境管理更加方便,使用它可以实现高效的python项目开发工作流。
安装
- pip是用来安装python包的工具
pip --version # 查看pip是否安装 如果报错,需要自己安装pip(https://bootstrap.pypa.io/get-pip.py)get-pip.py文件并使用python执行)
pip install pipenv # 使用pip安装pipenv
sudo pip install pipenv # 在Linux或macOS系统中使用sudo以全局安装
pipenv --version # 检查pipenv是否已经安装
创建虚拟环境
-
虚拟环境就是隔离的python解释器环境。不同的项目会依赖不同版本的库或python版本,使用虚拟环境可以保持全局python解释器环境的干净,并且可以区分和记录每个项目的依赖,以便在新环境下复现依赖环境。
-
首先进入程序的根目录,然后使用命令pipenv install为当前项目创建虚拟环境,这会为当前项目创建一个文件夹,其中包含隔离的python解释器环境,并且安装一些基本包。
- 虚拟文件夹的目录下形式为“项目名称+一串随机字符串”
- 可以使用 --three和--two选项来声明虚拟环境中使用的python版本,或是使用--python选项指定具体的版本号。同时要确保对应的版本的python已经安装在电脑中
C:Users\secoo.virtualenvs # 在Windows系统中,虚拟文件夹目录
~/.local/share/virtualenvs/ # 在Linux或macOS系统中,虚拟文件夹目录
- 激活虚拟环境
pipenv shell # 当执行pipenv shell或pipenv run时,pipenv会自动从项目目录下的.env文件中加载环境变量
pipenv run python hello.py # 激活虚拟环境并执行python.py文件
- pipenv会启动一个激活虚拟环境的字shell,你会发现命令行提示符前添加了虚拟环境的名称,比如:(helloflask-fLxmrfVY) (base) F:mycodehelloflask>,这说明我们已经成功激活了虚拟环境,现在你的所有命令都会在虚拟环境中执行,使用exit退出环境。
管理依赖
- 在创建虚拟环境时,如果项目根目录下没有pipfile文件则会自动创建pipfile(记录项目依赖包列表)和pipfile.lock(记录固定版本的详细依赖包列表)文件。
- 当我们使用pipenv安装/删除/更新依赖包时,这两个文件会自动更新
- 可以使用pipenv graph命令查看当前环境下的依赖情况,或是在虚拟环境中使用pip list命令查看依赖列表
- 当需要在一个新的环境运行程序时,只需要执行pipenv install命令,pipenv就会创建一个新的虚拟环境,然后自动从pipfile中读取依赖并安装到新创建的虚拟环境中。
- 常用pipenv命令
pipenv --three # 使用python3创建环境
pipenv --python 3.6 # 指定某一版本创建环境
pipenv shell # 激活虚拟环境
pipenv --where # 显示目录信息
pipenv --venv # 显示虚拟环境信息
pipenv --py # 显示python解释器信息
pipenv graph # 查看已安装的库及其依赖
pipenv check # 检查安全漏洞
pipenv uninstall --all # 卸载全部包并从中pipfile中移除