PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解虚拟环境开发和依赖管理的教程详解
hello,小伙伴们大家好,今天给大家介绍的开源项目是Python虚拟环境管理工具,Pipenv是Python官方推荐的包管理工具。可以说,它集成了virtualenv, pip和pyenv三者的功能。其目的旨在集合了所有的包
管理工具的长处,如: npm, yarn, composer等的优点。
Pipenv试图解决的问题是多方面的:
我们不需要再手动创建虚拟环境,Pipenv会自动为我们创建,它会在某个特定的位置创建一个 virtualenv 环境,然后调用 pipenv shell 命令切换到虚拟环境。使用 requirements.txt 可能会导致一些问题,所以
Pipenv 使用 Pipfile 和 Pipfile.lock 来替代之,而且 Pipfile 如果不存在的话会自动创建,而且在安装、升级、移除依赖包的时候会自动更新 Pipfile 和 Pipfile.lock 文件。哈希值随处可见。安全。自动公开安全漏洞。
让您深入了解依赖关系图(例如$ pipenv graph)。随时查看图形化的依赖关系。可通过自动加载 .env 读取环境变量,简化开发流程。
安装Pipenv
MacOS
$ brew install pipenv
Debian
$ sudo apt install pipenv
Fedora
$ sudo dnf install pipenv
假如你电脑上有多个Python版本,你可以指定Python版本安装
$ python3 -m pip install pipenv
常用命令
$ pipenv
Usage: pipenv [OPTIONS] COMMAND [ARGS]...
Options:
--where 显示项目文件所在路径
--venv 显示虚拟环境实际文件所在路径
--py 显示虚拟环境Python解释器所在路径
--envs 显示虚拟环境的选项变量
--rm 删除虚拟环境
--bare 最小化输出
--completion 完整输出
--man 显示帮助页面
--three / --two 使用Python 3/2创建虚拟环境(注意本机已安装的Python版本)
--python TEXT 指定某个Python版本作为虚拟环境的安装源
--site-packages 附带安装原Python解释器中的第三方库
--jumbotron An easter egg, effectively.
--version 版本信息
-h, --help 帮助信息
命令参数
Commands:
check 检查安全漏洞
graph 显示当前依赖关系图信息
install 安装虚拟环境或者第三方库
lock 锁定并生成Pipfile.lock文件
open 在编辑器中查看一个库
run 在虚拟环境中运行命令
shell 进入虚拟环境
uninstall 卸载一个库
update 卸载当前所有的包,并安装它们的最新版本
基本使用
我们可以创建一个项目,名称 PipenvTest,然后新建一个 Python 脚本,例如叫 tst_env.py,内容为:
import django
print(django.get_version())
结果如下:
1.12
我们可以看到系统安装的 Django 版本是 1.12。但是我们想要本项目基于 Django 2.x 开发,当然我们可以选择将系统的 Django 版本升级,但这样又可能会影响其他的项目的运行,所以这并不是一个好
的选择。为了不影响系统环境的 Django 版本,所以我们可以用 Pipenv 来创建一个虚拟环境。
在该目录下,输入 pipenv 命令即可查看命令的完整用法:
Usage: pipenv [OPTIONS] COMMAND [ARGS]...
Options:
--update Update Pipenv & pip to latest.
--where Output project home information.
--venv Output virtualenv information.
--py Output Python interpreter information.
--envs Output Environment Variable options.
--rm Remove the virtualenv.
--bare Minimal output.
--completion Output completion (to be eval'd).
--man Display manpage.
--three / --two Use Python 3/2 when creating virtualenv.
--python TEXT Specify which version of Python virtualenv should use.
--site-packages Enable site-packages for the virtualenv.
--jumbotron An easter egg, effectively.
--version Show the version and exit.
-h, --help Show this message and exit.
Usage Examples:
Create a new project using Python 3.6, specifically:
$ pipenv --python 3.6
Install all dependencies for a project (including dev):
$ pipenv install --dev
Create a lockfile containing pre-releases:
$ pipenv lock --pre
Show a graph of your installed dependencies:
$ pipenv graph
Check your installed dependencies for security vulnerabilities: