广告
返回顶部
首页 > 资讯 > 后端开发 > Python >pipenv 使用简介
  • 233
分享到

pipenv 使用简介

简介pipenv 2023-01-31 08:01:48 233人浏览 八月长安

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

摘要

之前在开发时一直使用 conda 使用作为虚拟环境管理工具,但有时候会经常会临时性的需要一个虚拟环境,如果使用 conda create 创建一个新环境,耗时不说,有时候还忘了删除,最后系统里一堆的虚拟环境。偶然发现 pipenv 后试用

之前在开发时一直使用 conda 使用作为虚拟环境管理工具,但有时候会经常会临时性的需要一个虚拟环境,
如果使用 conda create 创建一个新环境,耗时不说,有时候还忘了删除,最后系统里一堆的虚拟环境。
偶然发现 pipenv 后试用了一下,感觉它的工作流相比之前虚拟环境环境加 requirements.txt
的方式更加简单方便。

安装

pipenv 最好和 python3 一起使用

最简单的方式是通过 pip 安装

pip3 install pipenv

如果是 Mac 用户也可以通过 Homebrew 安装

brew install pipenv

如果没有安装 pip 可以通过以下方式安装

https://raw.GitHubusercontent.com/kennethreitz/pipenv/master/get-pipenv.py | python

使用

创建新项目

mkdir myproject
pipenv install

这会在 myproject 文件下创建 PipfilePipfile.lock 文件,同时创建虚拟环境
虚拟环境名称为 pipenv 加项目路径哈希值,如 pipenv-7BgKv-oX

ll
-rw-r--r-- 1 rookie rookie 138 4月  20 20:24 Pipfile
-rw-r--r-- 1 rookie rookie 453 4月  20 20:24 Pipfile.lock

虚拟机环境默认位于 ~/.local/share/virtualenvs/,由于 pipenv 通过路径名哈希值与虚拟环境
建立映射关系,因此如果移动项目会导致虚拟环境不可用。可以通过在 .bashrc 添加
export PIPENV_VENV_IN_PROJECT=1 让 pipenv 在项目文件中创建虚拟环境,这时候虚拟环境位于 myproject/.venv 文件夹下。

如果项删除虚拟环境,在项目顶层目录下运行

pipenv --rm

如果要指定 Python 版本,可以通过 --python 完成,如我要安装 python3.7 的虚拟环境

pipenv --python 3.7

配置文件

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

[dev-packages]

[packages]

[requires]
python_version = "3.6"

[[source]] 模块指定了 pip 源位置,通常国内 pip 源加快下载速度

[[source]]
name = "tuna"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true

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

[dev-packages]

[packages]

[requires]
python_version = "3.6"

安装和卸载 packages

你可以编辑 packages, 添加项目需要的 Python 库,如 requests='**',甚至可以指定不同
平台下的包配置,详细配置参考 Advanced Usage of Pipenv
不过你可以通过pipenv install requests
来安装,pipenv 将会自动更新 PipfilePipfile.lock
[dev-packages] 则是一些开发依赖但不是项目依赖包的存放目录,如 pylint 等 pep8 检查工具
可以在安装时指定 pipenv install --dev将某个包声明为 dev-package
卸载 package 也很简单

pip uninstall

如果通过 pipenv 命令安装和卸载 package,安装或卸载完成后还会更新 Pipfile.lock 文件,有时候会卡在这个步骤。通常可以 ctrl+c 强制推出,删除 Pipfile.lock, 然后

pipenv lock

重新生成该文件

进入和退出虚拟环境

进入虚拟环境

cd myproject

pipenv shell

退出虚拟环境

pipenv exit

高级用法

有时候某些 package 需要指定特定的 pip 源,可以通过如下方式指定,非常简便

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

[[source]]
url = "http://pypi.home.kennethreitz.org/simple"
verify_ssl = false
name = "home"

[dev-packages]

[packages]
requests = {version="*", index="home"}
maya = {version="*", index="pypi"}
records = "*"

有时候需要生成 requirements.txt 文件

pipenv lock -r

如果只需要生成 dev-pakcages 列表,也很简单

pipenv lock -r --dev

自动载入环境变量文件。如果 .env 文件在项目根目录下,pipenv shellpipenv run
会自动载入文件中的环境变量。

$ cat .env
HELLO=WORLD

$ pipenv run python
Loading .env environment variables…
Python 2.7.13 (default, Jul 18 2017, 09:17:00)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more infORMation.
>>> import os
>>> os.environ['HELLO']
'WORLD'

pipenv 还支持自定义命令,这对于某些开发过程中经常使用的命令来说非常方便。
Pipfile 中添加 [scripts]

[scripts]
printspam = "python -c \"print('I am a silly example, no one would need to do this')\""

通过 pipenv run <custom_command> 即可运行自定义命令,如

pipenv run echospam "indeed"
I am really a very silly example indeed

更多高级用户可以参考 官方文档


最后欢迎关注我的 Blog-PrivateRookie

--结束END--

本文标题: pipenv 使用简介

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

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

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

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

下载Word文档
猜你喜欢
  • pipenv 使用简介
    之前在开发时一直使用 conda 使用作为虚拟环境管理工具,但有时候会经常会临时性的需要一个虚拟环境,如果使用 conda create 创建一个新环境,耗时不说,有时候还忘了删除,最后系统里一堆的虚拟环境。偶然发现 pipenv 后试用...
    99+
    2023-01-31
    简介 pipenv
  • 如何使用Pipenv
    这篇文章给大家介绍如何使用Pipenv,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Pipenv 是由 Kenneth Reitz 在一年多前创建的“面向开发者而生的 Python 开发工作流”,它已经成为管理软件包依...
    99+
    2023-06-17
  • python - pipenv 使用概览
    欢迎访问我的blog:http://www.qnloft.com/blogpipenv 是 python的 包 / 虚拟环境管理工具。有点类似Java中maven。GitHub地址:https://github.com/pypa/pipen...
    99+
    2023-01-31
    python pipenv
  • pipenv怎么在python中使用
    pipenv怎么在python中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-14
  • dgraph 使用简介
    dgraph 简介 dgraph 使用示例(基于 golang) golang client 安装 创建 schema 数据的 CURD 事务 总结 dgraph 简介 dgraph 是基于 golang 开发的开源的分...
    99+
    2015-11-24
    dgraph 使用简介
  • OSWatcher使用简介
       OSWatcher Black Box, 简称OSW,是oracle提供的一个小但是非常有用的工具,它通过调用OS自己提供的命令来记录OS运行时的一些性能参数,比如CPU/Memo...
    99+
    2022-10-18
  • DBM_SQLTUNE使用简介
    DBMS_SQLTUNE的使用方法所需权限grant advisor to user;grant select_catalog_role to user;  --通过OEM管理必不可少g...
    99+
    2022-10-18
  • innotop使用简介
        innotop是一个mysql数据库实时监控工具,其功能强大,信息种类繁多,很能体现数据库的状态.    它实际上是一...
    99+
    2022-10-18
  • Pytest 使用简介
    前言   最近在听极客时间的课程,里面的讲师极力推崇 pytest 框架,鄙视 unittest 框架,哈哈!然后查了些资料,发现了一条 python 鄙视链:pytest 鄙视 &...
    99+
    2022-11-12
  • Postman使用简介
    文章目录 Postman简介Postman主界面菜单栏工具栏请求管理区环境管理区请求设计区 发送请求发送GET请求Postman发送GET请求发送表单格式POST请求发送JSON格式PO...
    99+
    2023-09-02
    Java Postman
  • Python中itertools简介使用介绍
    目录Python中itertools模块一、 简介二、 使用介绍1、 常用迭代器1.1 chain1.2 groupby2、 无穷迭代器2.1 count2.2 cycle2.3 r...
    99+
    2022-12-28
    Python中itertools Python itertools详解 Python itertools
  • SpiderMonkey 简介和使用
    SpiderMonkey 是 Mozilla 基金会开发的一款开源的 JavaScript 引擎。它是 Firefox 浏览器的内置...
    99+
    2023-09-14
    SpiderMonkey
  • Android OKHttp使用简介
    目录配置 创建OkHttpClient 同步get请求异步get请求 同步post请求异步post请求上传文件表单提交下面是官网给出的OKHTTP的特点: 支持HTTP/2...
    99+
    2022-11-12
  • Guava Cache的使用简介
    目录1 引入 2 Guava Cache介绍 3 缓存的过期时间设置 4 缓存加载机制 5 缓存清理 1 引入 说到缓存,可能大家最先想到的还是Redis。作为基于键值对的非关系型...
    99+
    2022-11-12
  • SpringCloud Zuul的使用简介
    目录简介 使用 简介 Zuul是Spring Cloud全家桶中的微服务API网关。 所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序 Z...
    99+
    2022-11-12
  • SpringCloud Feign的使用简介
    目录简介使用总结简介 feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了...
    99+
    2022-11-12
  • Onnx简介以及使用
    目录 一、ONNX简介 二、使用场景 三、常见例子  四、使用步骤 1.引入库 2.读入数据 五、如何查看onnx网络结构和参数 六、一个简单例子的实现 七、ONNX 的其他基本操作 1.获取onnx模型的输出层...
    99+
    2023-09-01
    python 开发语言
  • Vue3 Composition API的使用简介
    目录概述 示例为什么需要 setup ref、reactive computed与watch生命周期 vue3.0在7月发布了rc版本,vue-cli4.5后也支持选择vue3作为备...
    99+
    2022-11-11
  • python Polars库的使用简介
    目录文件地址:大家好,我是小F~ 很多人在学习数据分析的时候,肯定都会用到Pandas这个库,非常的实用! 从创建数据到读取各种格式的文件(text、csv、json),或者对数据进...
    99+
    2022-11-12
  • C# 枚举的使用简介
    目录为什么使用枚举?枚举有哪些用法?1、简单枚举2、标志枚举3、枚举使用的一些建议枚举这个名词大家都听过,很多小伙伴也使用过, 那么枚举在开发中能做什么,使用它后能给程序代码带来什么...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作