欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

pipenv的基本使用

Python基础 迷途小书童 4年前 (2019-12-08) 2882次浏览 0个评论

软硬件环境

  • ubuntu 18.04 64bit
  • pipenv
  • python3

pipenv

PipenvPython项目的依赖管理器, 是升级版的pip, 它能够有效地管理复杂的模块依赖关系, 项目地址 https://github.com/pypa/pipenv.

基本使用

使用pip3安装

pip3 install pipenv --user

pipenv_01

这条命令是在当前用户的目录下安装pipenv, 省略掉--user参数, 就会安装到系统目录中且需要 sudo 权限. 安装完毕查看下pipenv的安装路径

pipenv_02

项目实例

下面我们来创建一个空的项目, 看看pipenv的具体使用方法

mkdir pipenv_test
cd pipenv_test
pipenv install

pipenv_03

因为这是一个空的项目, pipenv会帮你创建一个全新的虚拟环境, 生成2个特殊的文件, PipfilePipfile.lock.

pipenv_04

我们再来看看pipenv帮我们创建的虚拟环境, python解释器存在于你的home 目录下. 而且, 每一个python项目, pipenv所创建的虚拟环境都是互相独立的, 能够极大的减少模块及对应版本的相互干扰.

pipenv_05

虚拟环境创建好了, 我们来安装个第三方的模块, 如dlib

pipenv install dlib

卸载命令是 pipenv uninstall dlib, 更新命令是 pipenv update dlib, 安装之后查看下Pipfile, 可以看到它记录了了已安装包的基本信息

pipenv_06

Pipfile.lock文件则详细记录了模块的版本好及对应的哈希值, 这个有点像常见的 requirements.txt

pipenv_08

命令 pipenv graph 可以查看更加详细的模块依赖关系

安装指定版本

还是以 dlib 模块为例, 之前默认安装的是19.15.0版本, 现在需要指定安装19.13.1, 相当于降版本, 可以执行命令

pipenv install dlib==19.13.1

然后查看下Pipfile.lock文件

pipenv_10

开发环境 vs 生产环境

通常有一些python包只在你的开发环境中需要, 比如单元测试包. 这时候就需要将开发环境和生产环境严格区分开来, 而pipenv正好提供了这个功能

pipenv install imutils --dev

如果不加--dev就默认都是生产环境, 安装完毕看看Pipfile.lock

pipenv_09

当别人clone了你的工程后, 如果只需要开发环境, 可以这样

pipenv install --dev

锁定lock

更新 Pipfile.lock 文件锁定当前环境的依赖关系

xugaoxiang@ubuntu:~/pipenv_test$ pipenv lock
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (b3c305)!

项目的运行

写个简单的脚本test.py

import dlib

print(dlib.__version__)

运行命令是

pipenv run python3 test.py

pipenv_07

参考资料

  1. https://github.com/pypa/pipenv
喜欢 (0)

您必须 登录 才能发表评论!

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.