python项目依赖管理工具-pipenv

偶然发现一个很好用的python项目包管理工具pipenv

github上简介是一句话Pipenv: Python Development Workflow for Humans

现在已经是python.org官方推荐的工具。

具体功能:

pipenv能够自动创建和管理你工程的虚拟环境,当你安装/卸载包时,会自动从你的Pipfile中添加/移除包;为啥要用这个工具,python的特点,python进行工程环境创建,一般是创建一个Virtualenv虚拟环境,然后列出所需要的工具包,pip安装,但是这样你就要手动去添加你需要的包,删除你已经不需要的包,并且由于工具包的更新,你可能还需要手动去更新你的工具包,而且,类似于单元测试这样的场景,需要安装nose包,但是生产环境又不需要该包,也就无法做到生产环境和开发环境安装包的分离,而以上这些,pipenv都可以解决。

使用简介

首先安装pipenv

使用pip安装pipenv及其依赖项

1
pip install pipenv

macOS安装则使用

1
brew install pipenv

进入你项目所在文件夹,启动Pipenv

1
2
cd your_project
pipenv install

启动之后,项目文件夹下会多出两个文件PipfilePipfile.lock
Pipfile文件包含项目的依赖包信息。

管理依赖包

要为项目安装依赖包,跟pip类似

1
pipenv install nose

卸载

1
pipenv uninstall nose

可以通过更新Pipfile.lock来冻结软件包名称及其版本以及其自己的依赖关系的列表。 这是使用lock关键字完成:

1
pipenv lock

如果你同事或者朋友想clone你的依赖库,直接拿你的Pipfile,然后他本地安装pipenv之后,pipenv install即可完成依赖库安装

环境分离

只为开发环境安装包:

1
pipenv install --dev nose

这样,在生产环境执行pipenv install是不会安装nose的,想要安装开发环境的依赖,执行:

1
pipenv install --dev

用法

pipenv所有关键字及解释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
$ 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:
$ pipenv check

Install a local setup.py into your virtual environment/Pipfile:
$ pipenv install -e .

Commands:
check Checks for security vulnerabilities and...
graph Displays currently–installed dependency graph...
install Installs provided packages and adds them to...
lock Generates Pipfile.lock.
open View a given module in your editor.
run Spawns a command installed into the...
shell Spawns a shell within the virtualenv.
uninstall Un-installs a provided package and removes it...
update Uninstalls all packages, and re-installs...

定位工程

展示工程路径以及环境路径,进入工程(类似于linux):

1
pipenv --where
1
pipenv --venv

定位python解释器:

1
pipenv --py

其他使用

激活工程环境

1
pipenv shell

运行python脚本

1
pipenv run python main.py

展示依赖关系图

1
pipenv graph

卸载所有

1
pipenv uninstall --all

参考地址

github项目地址
python.org官网推荐地址

文章目录
  1. 具体功能:
  2. 使用简介
    1. 首先安装pipenv
    2. 管理依赖包
    3. 环境分离
  3. 用法
    1. 定位工程
    2. 其他使用
      1. 激活工程环境
      2. 运行python脚本
      3. 展示依赖关系图
      4. 卸载所有
  4. 参考地址
|