python工具库composer_Pipenv——最好用的python虚拟环境和包管理工具

Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world. Windows is a first-class citizen, in our world.

pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用不太一致,且有时候处理包之间的依赖总存在问题;过去也常常用 pip进行包的管理,pip已经足够好,但是仍然推荐pipenv,相当于virtualenv和pip的合体,且更加强大。

pipenv主要有以下特性

pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。

过去用virtualenv管理requirements.txt文件可能会有问题,Pipenv使用Pipfile和Pipfile.lock,后者存放将包的依赖关系,查看依赖关系是十分方便。

各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。。

通过加载.env文件简化开发工作流程。

支持Python2 和 Python3,在各个平台的命令都是一样的。

Usages

$ pipenv

Usage: pipenv [OPTIONS] COMMAND [ARGS]...

Options:

--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.

--version Show the version and exit.

-h, --help Show this message and exit.

Usage Examples:

Create a new project using Python 3.7, specifically:

$ pipenv --python 3.7

Remove project virtualenv (inferred from current directory):

$ pipenv --rm

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 .

Use a lower-level pip command:

$ pipenv run pip freeze

Commands:

check Checks for security vulnerabilities and against PEP 508 markers

provided in Pipfile.

clean Uninstalls all packages not specified in Pipfile.lock.

graph Displays currently–installed dependency graph information.

install Installs provided packages and adds them to Pipfile, or (if no

packages are given), installs all packages from Pipfile.

lock Generates Pipfile.lock.

open View a given module in your editor.

run Spawns a command installed into the virtualenv.

shell Spawns a shell within the virtualenv.

sync Installs all packages specified in Pipfile.lock.

uninstall Un-installs a provided package and removes it from Pipfile.

Locate the project:

$ pipenv --where

/Users/kennethreitz/Library/Mobile Documents/com~apple~CloudDocs/repos/kr/pipenv/test

Locate the virtualenv:

$ pipenv --venv

/Users/kennethreitz/.local/share/virtualenvs/test-Skyy4vre

Locate the Python interpreter:

$ pipenv --py

/Users/kennethreitz/.local/share/virtualenvs/test-Skyy4vre/bin/python

Install packages:

$ pipenv install

Creating a virtualenv for this project...

...

No package provided, installing all dependencies.

Virtualenv location: /Users/kennethreitz/.local/share/virtualenvs/test-EJkjoYts

Installing dependencies from Pipfile.lock...

...

To activate this project's virtualenv, run the following:

$ pipenv shell

开发流程

如果在开发环境已经完成开发,如何构建生产环境呢?这时候就要使用Pipfile.lock了,运行以下命令,把当前环境的模块lock住, 它会更新Pipfile.lock文件,该文件是用于生产环境的,你永远不应该编辑它。

$ pipenv lock

然后只需要把代码和Pipfile和Pipfile.lock放到生产环境,运行下面的代码,就可以创建和开发环境一样的环境,Pipfile.lock里记录了所有包和子依赖包的确切版本,因此是确定构建:

$ pipenv install

如果要在另一个开发环境做开发,则将代码和Pipfile复制过去,运行以下命令:

$ pipenv install --dev

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值