侵权投诉

Python虚拟环境pipenv的使用

开关电源芯片 2021-08-23 10:15 次阅读

一般我们创建 Python 项目的时候都会创建一个虚拟环境,这样做的好处就是会把项目环境和操作系统环境区分开来,避免把操作系统环境弄乱。

还有一个痛点就是我们在开发环境开发完成之后,需要把代码复制到生产环境上线,这时候我不想将开发环境的所有包重新在 pip install 一次了,怎么办?

于是 pipenv 应运而生。见名识意,pipenv 就是 pip 和 virtualenv 的结合体。

安装

直接使用 pip3 进行安装即可。

pip3 install pipenv

创建虚拟环境

$ mkdir demo

$ cd demo

$ pipenv install

安装完成之后会在你的项目目录自动生成 Pipfile 和 Pipfile.lock 两个文件,他们主要是用来管理包的。不信,我们用 pipenv 安装下 requests 库试一下。

$ pipenv install requests

咱们来看下 Pipfile 和 Pipfile.lock 的内容。

# Pipfile

[[source]]

url = “https://pypi.org/simple”

verify_ssl = true

name = “pypi”

[packages]

requests = “*”

[dev-packages]

[requires]

python_version = “3.8”

# Pipfile.lock

{

省略部分信息

“default”: {

“requests”: {

“hashes”: [

“sha256:27973dd4a.。.”,

“sha256:c210084e3.。.”

],

“index”: “pypi”,

“version”: “==2.25.1”

},

省略部分信息

},

“develop”: {}

}

Pipfile 列出了 requests 库的信息和 Python 版本信息,细心的你可能发现了,该文件中还有一个 dev-packages 的信息,安装时如果指定 -dev 参数,那么就会记录在 dev-packages 下面。而 Pipfile.lock 则保存了库的哈希值,这是确保生产环境和开发环境库信息一致的关键。

当你把项目从开发环境复制到生产环境之后,只需要执行 pipenv install 就可以了,无需在重新安装之前在开发环境安装的包了,是不是很省心。

其他命令

进入虚拟环境:

$ pipenv shell

退出虚拟环境:

$ exit

安装库:

$ pipenv install xxx

删除库:

# 删除指定库

$ pipenv uninstall xxx

# 删除所有库

$ pipenv uninstall --all

升级库:

$ pipenv update

查看库的具体信息:

$ pipenv open xxx

获取本地工程路径:

$ pipenv --where

获取虚拟环境路径:

$ pipenv --venv

检查库的依赖关系,这个非常有用。

$ pipenv graph

检查库的安全性:

$ pipenv check

删除虚拟环境:

$ pipenv --rm

总结

今天我们介绍了 Python 虚拟环境 pipenv 的使用,好的工具可以事半功倍,希望对小伙伴们有所帮助。

责任编辑:haq

原文标题:最好用的 Python 虚拟环境,没有之一

文章出处:【微信号:gh_3980db2283cd,微信公众号:开关电源芯片】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

【RTT大赛作品连载】CH32V1 Python引擎BSP

基于PikaScript超轻量级Python引擎,为CH32V103适配BSP
的头像 PikaScript驱动适配 发表于 10-25 09:42 82次 阅读
【RTT大赛作品连载】CH32V1 Python引擎BSP

开关插座手册_如何用开关/插座组合替换电灯开关

开关插座手册If you’re running out of outlets to plug thi....
发表于 10-23 10:36 5次 阅读
开关插座手册_如何用开关/插座组合替换电灯开关

树莓派基础实验8:振动开关实验

一、介绍   振动开关也称为弹簧开关或振动传感器,是一种电子开关。它会产生振动力,并将结果传送给电路....
发表于 10-23 09:06 3次 阅读
树莓派基础实验8:振动开关实验

开关电源拓扑图一览

2019独角兽企业重金招聘Python工程师标准>>> ....
发表于 10-21 17:36 8次 阅读
开关电源拓扑图一览

嵌入式Python环境

本文首发于just4fun缘起这里将讨论的嵌入式Python环境并不是硬件嵌入式开发的那个嵌入式,如....
发表于 10-21 11:21 13次 阅读
嵌入式Python环境

嵌入式c语言 c语言_C和嵌入式C有什么区别?

嵌入式c语言 c语言C programming language was designed by t....
发表于 10-21 10:21 7次 阅读
嵌入式c语言 c语言_C和嵌入式C有什么区别?

嵌入式的上位机界面测试例子

在开发嵌入式软件时,经常要使用一些界面测试例子,如果让别人帮忙开发,当然是比较好的事情,但是在小公司....
发表于 10-20 19:51 8次 阅读
嵌入式的上位机界面测试例子

Python 中常见的配置文件写法有哪些

  为什么要写配置文件 在开发过程中,我们常常会用到一些固定参数或者是常量。对于这些较为固定且常用到....
的头像 马哥Linux运维 发表于 10-20 16:11 241次 阅读
Python 中常见的配置文件写法有哪些

简述Python加速运行小窍门

Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足。但是,....
的头像 Linux爱好者 发表于 10-20 15:28 935次 阅读

一文汇总并发http请求最快的几种实现方式用

假如有一个文件,里面有 10 万个 url,需要对每个 url 发送 http 请求,并打印请求结果....
的头像 Linux爱好者 发表于 10-20 14:36 144次 阅读
一文汇总并发http请求最快的几种实现方式用

浅析Python数据结构与算法

Python数据结构是由哪些部分组成的?
发表于 10-20 06:43 0次 阅读

python是如何实现hbase增删改查的

hbase shell是怎样去创建命名空间的? python是如何实现hbase增删改查的?求解 ...
发表于 10-19 07:26 0次 阅读

关于Python18个你不知道的高效编程技巧

初识Python语言,觉得python满足了我上学时候对编程语言的所有要求。python语言的高效编....
的头像 马哥Linux运维 发表于 10-15 11:23 298次 阅读

用Python实现3D地图教程

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题....
的头像 马哥Linux运维 发表于 10-13 10:09 223次 阅读
用Python实现3D地图教程

关于Python对交通路口的红绿灯进行颜色检测

转自 |   Python联盟 1.视频读取 首先把视频读取进来,因为我测试的视频是4k的所以我用r....
的头像 新机器视觉 发表于 10-13 09:32 288次 阅读
关于Python对交通路口的红绿灯进行颜色检测

如何制作数据可视化大屏

经常有小伙伴问,如何制作数据可视化大屏? 今天将手把手带你爬取奥运会相关信息,并利用 可视化大屏 为....
的头像 Linux爱好者 发表于 10-12 16:31 203次 阅读
如何制作数据可视化大屏

什么是MicroPython 它能做什么有什么局限

随着Python成为主流的编程语言,MicroPython在嵌入式系统领域也越来越热门起来,尤其是大....
的头像 电子森林 发表于 10-12 11:44 311次 阅读

10具有挑战性的Python项目创意

你知道 Python 是被称为 全能编程语言 的吗?是的,它确实是,虽然不应该在每个项目中都使用它。....
的头像 Android编程精选 发表于 10-12 10:43 334次 阅读

如何把Python和Excel两大数据工具进行集成

  这次我们会介绍如何使用xlwings将Python和Excel两大数据工具进行集成,更便捷地处理....
的头像 数据分析与开发 发表于 10-12 09:41 202次 阅读
如何把Python和Excel两大数据工具进行集成

如何在Colab中使用SQL

如今,编码测试在数据科学面试过程中几乎是标准的。 作为一名数据科学招聘经理,我发现一个20-30分钟....
的头像 智能感知与物联网技术研究所 发表于 10-12 09:39 227次 阅读
如何在Colab中使用SQL

Python开发中Pycharm的实用小技巧

  Pycharm作为Python开发最常用的IDE之一,不仅兼容性好,而且功能也相当丰富,比如调试....
的头像 马哥Linux运维 发表于 10-12 09:36 191次 阅读

Python的时间处理模块中处理日期与时间的全面总结

Python的时间处理模块在日常的使用中用的较多,但是使用的时候基本上都是要查资料,还是有些麻烦的,....
的头像 马哥Linux运维 发表于 10-12 09:24 243次 阅读
Python的时间处理模块中处理日期与时间的全面总结

Python中最常用的几种线程锁你会用吗

前言本文将继续围绕 threading 模块讲解,基本上是纯理论偏多。 对于日常开发者来讲很少会使用....
的头像 马哥Linux运维 发表于 10-11 16:07 189次 阅读

优秀的 Verilog/FPGA开源项目介绍(一)

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信 今天开始会陆续介绍一些优秀的开源项....
的头像 OpenFPGA 发表于 10-11 15:31 376次 阅读
优秀的 Verilog/FPGA开源项目介绍(一)

Python入门知识汇总

Python代码生成EXE文件的方法是什么?
发表于 10-11 06:00 0次 阅读

Python版test1实战说明

上一篇文章已经带着大家安装 DeepStream 的 Python 开发环境,并且执行最简单的 de....
的头像 NVIDIA英伟达企业解决方案 发表于 10-09 14:28 185次 阅读

教你们如何用 Python 快速制作海报级地图附代码

 1 简介 基于 Python 中诸如 matplotlib 等功能丰富、自由度极高的绘图库,我们可....
的头像 Linux爱好者 发表于 10-09 11:36 296次 阅读

什么是Python中的流程控制?

什么是Python中的流程控制?
发表于 10-09 07:24 0次 阅读

Python定时任务的实现方式

在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond....
的头像 马哥Linux运维 发表于 10-08 15:20 1378次 阅读

TwinCAT是如何配置虚拟轴TC3的呢

TwinCAT是如何配置虚拟轴TC3的呢?求解答
发表于 10-08 06:41 0次 阅读

Python的矩阵传播机制

一、Python的矩阵传播机制(Broadcasting) 我们知道在深度学习中经常要操作各种矩阵(....
的头像 Linux爱好者 发表于 09-30 16:53 342次 阅读

Python提供了几个级别访问的网络服务呢

Python提供了几个级别访问的网络服务呢?
发表于 09-30 08:09 0次 阅读

如何用python实现贪吃蛇游戏

贪吃蛇 具体实现部分,大致分为三个模块来介绍:游戏初始化、游戏运行(蛇移动、吃掉食物)、游戏结束 1....
的头像 马哥Linux运维 发表于 09-29 18:05 493次 阅读
如何用python实现贪吃蛇游戏

寄存器和存储器的区别在哪

为什么要有系统调用? 虚拟存储的作用是什么?为什么虚拟存储可以实现? 寄存器和存储器的区别在哪? ...
发表于 09-29 08:22 0次 阅读

Teamcenter、TIA Portal和虚拟调试如何才能结合在一起

PDM是什么? PLM是什么? Teamcenter、TIA Portal和虚拟调试如何才能结合在一起? ...
发表于 09-29 07:36 0次 阅读

python导出excel格式的oracle数据报表讲解

python导出excel格式的oracle数据报表讲解(通信电源技术期刊官网)-该文档为pytho....
发表于 09-28 13:10 32次 阅读
python导出excel格式的oracle数据报表讲解

在鸿蒙上使用Python进行物联网编程

在上一篇帖子《使用 Python 开发鸿蒙设备程序(1-GPIO 外设控制)》中,已经成功的使用 P....
的头像 HarmonyOS技术社区 发表于 09-28 09:55 539次 阅读
在鸿蒙上使用Python进行物联网编程

怎样去实现一种基于Python的OPC UA编程

怎样去实现一种基于Python的OPC UA编程? 如何通过FreeOpcUa创建自己的地址空间? ...
发表于 09-28 09:35 0次 阅读

用Python完成鸿蒙开发板外设控制

话说很久以前,我将 MicroPython 的解释器给“挖”了出来,然后做了适配,成功运行于鸿蒙设备....
的头像 HarmonyOS技术社区 发表于 09-28 09:22 368次 阅读

请问如何选择合适机械的伺服电机?

请问如何选择合适机械的伺服电机?
发表于 09-27 07:57 0次 阅读

pandas筛选数据的8个小技巧

  日常用 Python 做数据分析最常用到的就是查询筛选了,按各种条件、各种维度以及组合挑出我们想....
的头像 数据分析与开发 发表于 09-26 11:04 1200次 阅读
pandas筛选数据的8个小技巧

Python连接Oracle数据库

Python连接Oracle数据库(深圳市核达中远通电源技术股份有限公司招聘)-该文档为Python....
发表于 09-24 17:20 35次 阅读
Python连接Oracle数据库

深刻理解Python中的元类(metaclass)

深刻理解Python中的元类(metaclass)(大工20春电源技术在线作业2)-该文档为深刻理解....
发表于 09-24 16:12 32次 阅读
深刻理解Python中的元类(metaclass)

Python后端项目的协程是什么

最近公司 Python 后端项目进行重构,整个后端逻辑基本都变更为采用“异步”协程的方式实现。看着满....
的头像 Linux爱好者 发表于 09-23 14:38 309次 阅读

Python中三个json组件的安装方式

在 Python 使用用 json.dumps(data) 时突然发现特别慢,data 本身不大,但....
的头像 马哥Linux运维 发表于 09-23 14:35 334次 阅读
Python中三个json组件的安装方式

VR全景虚拟企业线上展馆的应用

今年疫情的影响下很多企业线下展厅无法得到实际的进展,线下企业展厅不管在时间、地域上的限制,以及很多不....
发表于 09-23 11:30 69次 阅读

在Anaconda中安装python包seaborn

在Anaconda中安装python包seaborn(现代电源技术题库)-在Anaconda中安装p....
发表于 09-18 15:01 38次 阅读
在Anaconda中安装python包seaborn

Python科学计算利器Anaconda

Python科学计算利器Anaconda(开关电源技术毕业设计)-Python科学计算利器Anaco....
发表于 09-18 14:26 41次 阅读
Python科学计算利器Anaconda

如何使用工业树莓派做ython的PWM控制

虹科工业树莓派 准备工作 硬件: 虹科工业树莓派1台 DIO模块1个 Windows系统电脑1台 L....
的头像 广州虹科电子科技有限公司 发表于 09-16 10:57 2076次 阅读
如何使用工业树莓派做ython的PWM控制

基于Python-casacore的射电测量集文件生成方法

基于Python-casacore的射电测量集文件生成方法(开关电源技术试卷)-该文档为基于Pyth....
发表于 09-15 13:11 44次 阅读
基于Python-casacore的射电测量集文件生成方法

符合IEPE标准的CbM机器学习赋能平台

CbM需要捕获全带宽数据,以确保时域和频域中的所有谐波、混叠及其他机械相互作用都得到考虑。这种数据收....
发表于 09-13 12:45 3933次 阅读
符合IEPE标准的CbM机器学习赋能平台

如何通过Python脚本实现WIFI密码的暴力破解

前言 本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。....
的头像 马哥Linux运维 发表于 09-10 17:09 774次 阅读
如何通过Python脚本实现WIFI密码的暴力破解

如何在环境安装使用Python操作word

作者丨超级大洋葱806 https://tangxing.blog.csdn.net/article....
的头像 Android编程精选 发表于 09-05 15:13 539次 阅读
如何在环境安装使用Python操作word

如何利用Python抓取用户发的话题

大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超....
的头像 马哥Linux运维 发表于 09-05 09:37 312次 阅读
如何利用Python抓取用户发的话题

分享一个最新的的Python对象序列化方式

许多Python标准库都有一些未被赏识的精华。其中之一是允许简单优雅的基于参数类型的函数分发。这一特....
的头像 马哥Linux运维 发表于 09-01 15:19 1097次 阅读
分享一个最新的的Python对象序列化方式

jsonpath库中的常规功能介绍

1 简介 在日常使用Python的过程中,我们经常会与json格式的数据打交道,尤其是那种嵌套结构复....
的头像 Linux爱好者 发表于 09-01 14:11 295次 阅读
jsonpath库中的常规功能介绍

Python 代码加速运行的的小技巧

Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足。但是,....
的头像 Android编程精选 发表于 09-01 11:28 385次 阅读

如何过滤掉MySQL大批量插入的重复数据

线上库有6个表存在重复数据,其中2个表比较大,一个96万+、一个30万+,因为之前处理过相同的问题,....
的头像 阿铭linux 发表于 08-27 11:00 397次 阅读

基于Rust基础上如何去编写一个Linux内核模块

编者按:近些年来 Rust 语言由于其内存安全性和性能等优势得到了很多关注,尤其是 Linux 内核....
的头像 开关电源芯片 发表于 08-27 09:59 1375次 阅读

女友让翻译化妆品标签 看大佬如何用Python轻松解决

最近小编遇到一个生存问题,女朋友让我给她翻译英文化妆品标签。美其名曰:“程序猿每天英语开发,英文一定....
的头像 阿铭linux 发表于 08-25 17:27 364次 阅读