iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pipenv – 超好用的 Pytho
  • 114
分享到

Pipenv – 超好用的 Pytho

好用PipenvPytho 2023-01-31 07:01:13 114人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

pipenv 是什么 pipenv 是 python 官方推荐的包管理工具,集成了 virtualenv、pyenv 和 pip 三者的功能于一身,类似于 PHP 中的 composer。 我们知道,为了方便管理 Python 的虚拟环境

pipenv 是什么

pipenv 是 python 官方推荐的包管理工具,集成了 virtualenv、pyenv 和 pip 三者的功能于一身,类似于 PHP 中的 composer。

我们知道,为了方便管理 Python 的虚拟环境和库,通常使用较多的是 virtualenv 、pyenv 和 pip,但是他们不够好用或者说不够偷懒。于是 requests 的作者 Kenneth Reitz 开发了用于创建和管理 python 虚拟环境的工具 —- pipenv。

它能够自动为项目创建和管理虚拟环境,从 Pipfile 文件中添加或者删除包,同时生成 Pipfile.lock 文件来定安装包的版本和依赖信息,避免构建错误。

pipenv 主要解决了以下问题:

  • 不用再单独使用 virtualenv、pyenv 和 pip 了,现在它们结合到了一起。
  • 不用再维护 requirement.txt 了,使用 Pipfile 和 Pipfile.lock 来代替。
  • 可以在开发环境使用多个 python 版本。
  • 在安装的 pyenv 条件下,可以自动安装需要的 python 版本。
  • 安全,广泛地使用 Hash 校验,能够自动曝露安全漏洞。
  • 随时查看图形化的依赖关系。

安装 pipenv

由于我的开发环境一直都是 Mac 笔记本,所以这里只介绍在 Mac 环境如何安装好了。

使用 pip 安装

$ pip install --user pipenv

这个命令在用户级别(非系统全局)下安装 pipenv。如果安装后 shell 提示找不到 pipenv 命令,你需要添加当前 Python 用户主目录的 bin 目录到 PATH 环境变量。如果你不知道 Python 用户主目录在哪里,用下面的命令来查看:

$ python -m site --user-base

你会看到类似下面的输出

/Users/liyafeng/Library/Python/3.6

使用 brew 安装

Mac 下使用 brew 安装软件应该是最方便的了,推荐使用:

brew install pipenv

升级 pipenv:

brew upgrade pipenv

shell 自动补齐

linux or Mac 环境下,bash下如果能自动命令补全岂不是更好?请把如下语句追加到.bashrc或者.zshrc即可:

eval "$(pipenv --completion)"

常用命令

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       帮助信息

pipenv 可使用的命令参数:

Commands:
  check      检查安全漏洞
  graph      显示当前依赖关系图信息
  install    安装虚拟环境或者第三方库
  lock       锁定并生成Pipfile.lock文件
  open       在编辑器中查看一个库
  run        在虚拟环境中运行命令
  shell      进入虚拟环境
  uninstall  卸载一个库
  update     卸载当前所有的包,并安装它们的最新版本

一些例子:

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 .

   Use a lower-level pip command:
   $ pipenv run pip freeze

pipenv 使用过程

创建环境,安装指定 python 的版本信息:

mkdir new_env & cd new_env
pipenv install     // pipenv install --three

如果指定了 --two 或者 --three 选项参数,则会使用 python2 或者 python3 的版本安装,否则将使用默认的 python 版本来安装。当然也可以指定准确的版本信息:

$ pipenv install --python 3
$ pipenv install --python 3.6
$ pipenv install --python 2.7.14

pipenv 会自动扫描系统寻找合适的版本信息,如果找不到的话,同时又安装了 pyenv 的话,则会自动调用 pyenv 下载对应版本的 python, 否则会报错。

这时候在当前 new_env 环境下生成 PipfilePipfile.lock 两个环境初始化文件。

进入|退出环境:

进入环境:

pipenv shell 

退出环境:

exit //或者 ctrl+d

安装第三方包:

这里我们测试安装 urllib3 包好了:

pipenv install urllib3

此时,Pipfile 里有最新安装的包文件的信息,如名称、版本等。用来在重新安装项目依赖或与他人共享项目时,你可以用 Pipfile 来跟踪项目依赖。

Pipfile 是用来替代原来的 requirements.txt 的,内容类似下面这样。source 部分用来设置仓库地址,packages 部分用来指定项目依赖的包,dev-packages 部分用来指定开发环境需要的包,这样分开便于管理。

$ cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
"urllib3" = "*"

[dev-packages]

[requires]
python_version = "3.6"

Pipfile.lock 则包含你的系统信息,所有已安装包的依赖包及其版本信息,以及所有安装包及其依赖包的 Hash 校验信息。

$ Pipfile.lock
{
    "_meta": {
        "hash": {
            "sha256": "af58f3510cb613D4d9241128f9a0ceb9bb936ad907543e23ad8317011dcb6715"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.6"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "Https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {                
         "urllib3": {
            "hashes": [
                "sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf",
                "sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5"
            ],
            "index": "pypi",
            "version": "==1.23"
        }
    },
    "develop": {}
}

现在安装另一个包,再次查看这两个文件的内容。你会发现 Pipfile 现在包含两个安装包了,Pipfile.lock 也包含了所有已安装包的依赖包及其版本信息,以及所有安装包及其依赖包的 Hash 校验信息。每次你安装新的依赖包,这两个文件都会自动更新。

安装指定版本包:

pipenv install urllib3==1.22

安装开发环境下的包:

--dev 表示包括 Pipfile 的 dev-packages 中的依赖。

pipenv install httpie --dev

卸载第三方包:

pipenv uninstall urllib3 //或者 pipenv uninstall --all

更新安装包:

pipenv update urllib3

更新所有包:

pipenv update 

这个命令会删除所有软件包然后重新安装最新的版本。

查看虚拟环境目录:

$ pipenv --venv
/Users/liyafeng/.local/share/virtualenvs/new_env-UVLdq9CB

最后的虚拟环境目录是以当前环境 new_env 作为目录开头的。

查看项目根目录:

$ pipenv --where
/Users/liyafeng/Documents/www/pythondemo/new_env

检查软件包的完整性

你是否担心已安装的软件包有没有安全漏洞?没关系,pipenv 可以帮你检查,运行下面的命令:

$  pipenv check
Checking PEP 508 requirements…
Passed!
Checking installed package safety…
All Good!

上面的命令根据 Pipfile 里的 PEP 508 标记检查安全漏洞。

查看依赖树

$ pipenv graph
httpie==0.9.9
  - Pygments [required: >=2.1.3, installed: 2.2.0]
  - requests [required: >=2.11.0, installed: 2.19.1]
    - certifi [required: >=2017.4.17, installed: 2018.4.16]
    - chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
    - idna [required: <2.8,>=2.5, installed: 2.7]
    - urllib3 [required: >=1.21.1,<1.24, installed: 1.23]

锁定版本

更新 lock 文件锁定当前环境的依赖版本

pipenv lock

环境变量管理

如果你开发调试时需要配一堆环境变量,可以写到 .env 文件中,在 pipenv shell 进入虚拟环境时,它会帮你把这些环境变量加载好,非常方便。

例如写一个 .env 文件:

echo "FOO=hello foo" > .env

之后 pipenv shell 进入虚拟环境,echo $FOO 就能看环境变量的值 hello foo 已经设置好了。

参考链接

https://docs.pipenv.org/

pipenv 新款 Python 虚拟环境工具详解

pipenv 笔记

pipenv 使用指南

Pipenv – 官方推荐的 Python 包管理工具

--结束END--

本文标题: Pipenv – 超好用的 Pytho

本文链接: https://www.lsjlt.com/news/192286.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pipenv – 超好用的 Pytho
    pipenv 是什么 pipenv 是 python 官方推荐的包管理工具,集成了 virtualenv、pyenv 和 pip 三者的功能于一身,类似于 php 中的 composer。 我们知道,为了方便管理 python 的虚拟环境...
    99+
    2023-01-31
    好用 Pipenv Pytho
  • Pipenv项目化你的python应用
    目录 Pipenv 什么是pipenv 安装pipenv pipenv用法 使用pipenv开发项目 ...
    99+
    2023-01-30
    项目 Pipenv python
  • Flutter超好用的路由库-fluro
    文章目录 fluro的介绍fluro简介安装和导入路由配置导航到路由参数传递 fluro的典型使用创建路由管理类代码解释例子小结 初始化路由导航到路由 总结 fluro的介...
    99+
    2023-09-25
    flutter fluro 路由 单例模式 android
  • 九个超级好用的Javascript技巧
    目录1、动态加载 JS 文件2、实现模板引擎3、利用 reduce 进行数据结构的转换4、添加默认值5、函数只执行一次6、实现 Curring7、实现单例模式8、实现 CommonJ...
    99+
    2023-05-17
    Javascript技巧 Javascript
  • 使用pipenv管理Python项目的技巧
    如何使用pipenv环境管理Python项目 引言:在Python开发中,环境管理是一项重要而又常被忽视的任务。好的环境管理能够提高项目的稳定性和可靠性,同时也能够有效降低开发和部署的难度。pipenv是一个优秀的Python环...
    99+
    2024-01-16
    环境管理 pipenv
  • Mac超好用软件推荐
    没有广告,良心推荐哦 刷到有福啦 非常非常感谢一路支持的大佬,你们的支持是我的荣幸 目录 Keka Free Download Manager   Noizio Lite Microsoft 365  ​编辑 LocalSand Hidd...
    99+
    2023-08-30
    macos 软件推荐 其他 笔记 经验分享 Mac 软件
  • 超好用的Android高亮引导库的使用
    简介 HighlightPro 是Android的一个高亮引导库,同时它还可以是一个简单的popup window库 功能: 可一次显示一个或多个高亮view 通过...
    99+
    2024-04-02
  • Alibaba Fastjson之超好用的JOSN解析库
    目录Fastjson 的优点Fastjson依赖json格式全部代码Json是一种轻量级的数据交换格式,应该在一个程序员的开发生涯中是常接触的。简洁和清晰的层次结构使得 JSON 成...
    99+
    2022-11-13
    Alibaba Fastjson JOSN解析库
  • 使用pipenv创建虚拟环境的步骤
    如何使用pipenv创建虚拟环境 导语:虚拟环境是Python开发中的重要概念之一,它可以帮助我们隔离项目所需的依赖包,避免不同项目之间的包冲突。pipenv是Python社区中比较流行的虚拟环境管理工具,本文将介绍如何使用pi...
    99+
    2024-01-16
    虚拟环境 创建 pipenv
  • 使用pipenv轻松搭建可靠的开发环境
    使用pipenv环境轻松构建可靠的开发环境 开发环境的构建对于开发人员来说非常重要。一个稳定、可靠且易于管理的开发环境能够提高开发效率,减少错误和冲突。在Python项目的开发中,pipenv是一个非常有用的工具,它能轻松帮助我...
    99+
    2024-01-16
    开发环境 pipenv 环境构建
  • 使用pipenv逐步创建虚拟环境的指南
    一步步教你使用pipenv建立虚拟环境 导语:在Python开发过程中,使用虚拟环境可以帮助我们更好地管理依赖和项目,而pipenv是一个强大的工具,可以简化虚拟环境的创建和管理。本篇文章将带给你详细的步骤和具体的代码示例,教你...
    99+
    2024-01-16
    教程 虚拟环境 pipenv
  • Pytho中有哪些常用的编码
    Pytho中有哪些常用的编码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、ASCIIASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,...
    99+
    2023-06-19
  • 使用pipenv创建虚拟环境的简明指南
    简单易懂的指南:使用pipenv构建虚拟环境 引言:在Python开发中,我们经常需要使用虚拟环境来隔离项目的依赖库,以确保不同项目之间的依赖关系不会相互干扰。pipenv是一个强大且用户友好的工具,可以帮助我们方便地创建和管理...
    99+
    2024-01-16
    虚拟环境 构建 pipenv
  • 分享Python 的24个编程超好用技巧
    目录1、ALL OR ANY2、BASHPLOTIB3、COLLECTIONS4、DIR5、EMOJI6、FROM_FUTURE_IMPORT7、GEOPY8、HOWDOI9、INS...
    99+
    2024-04-02
  • 超好用的Java正则表达式有哪些
    本篇内容介绍了“超好用的Java正则表达式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 将UR...
    99+
    2024-04-02
  • 使用pipenv管理python虚拟环境的全过程
    pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。过去我们一般用virtualenv搭建虚拟环境,管理python版本,但是跨平台的使用...
    99+
    2024-04-02
  • 超云服务器怎么样好用吗
    超云服务器是一款国内外知名的云计算服务平台,提供了高性能、高可用、高安全和易扩展的云计算服务,可以为用户提供安全、可靠、快速的计算资源。那么,超云服务器到底怎么样呢 首先,超云服务器具有高性能、高可用、高安全等特点。它采用了多项业界领先的...
    99+
    2023-10-26
    好用 服务器
  • 盘点十个超级好用的高级Python脚本
    目录1、Jpg转Png2、PDF加密和解密3、获取电脑的配置信息4、解压文件5、Excel工作表合并6、将图像转换为素描图7、获取CPU温度8、提取PDF表格9、截图10、拼写检查器...
    99+
    2023-05-15
    好用的Python 高级Python Python脚本 好用的Python脚本
  • 分享15超级好用得Python实用技巧
    目录01 all or any02 dir03 列表(list)推导式04 pprint05 repr06 sh07 Type hints08 uuid09 wikipedia10 ...
    99+
    2024-04-02
  • 八个超级好用的Python自动化脚本(小结)
    目录1、自动化阅读网页新闻2、自动化数据探索3、自动发送多封邮件4、将 PDF 转换为音频文件5、从列表中播放随机音乐6、智能天气信息7、长网址变短网址8、清理下载文件夹每天你都可能...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作