python虚拟环境管理工具_Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了...

前言

Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境。在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理。 传统的Python虚拟环境有virtualenv,使用pip freeze → requirements.txt 导出依赖。现在又有了一个新神器 -- Pipenv, 它是由大名鼎鼎的requests 作者 Kenneth Reitz 写的一个命令行工具,这个工具包装了virtualenv,使用Pipfile和Pipfile.lock管理,更加方便。

安装Pipenv

首先检查Python和Pip命令能否在命令行中正确执行

$ python -V

$ pip -Vbf698dbc94761ae5adc484fa032bfebe.png

在这里插入图片描述

安装Pipenv:

$ pip install pipenv

验证是否成功安装:

$ pipenv

出现以下则安装成功1b313ce7dbd50cb42f325fba85a1f100.png

创建虚拟环境

首先进入项目工程根目录 创建虚拟环境:

$ pipenv install

如果目录中没有Pipfile和Pipfile.lock,会自动生成。如果存在,则会自动安装Pipfile中的所有依赖db8238c50ec09c0b52e0b8f3dbfa14d8.png

创建成功后,可以在根目录中看到两个文件:99070767c5414ed00f24abd74c623d17.png

Pipfile中保存着各个依赖包的版本信息,Pipfile.lock保存着依赖包的锁信息 由于pip源的速度过慢,我们可以修改Pipfile的源信息b3d9aae04719dea1b752cf69b2022e8d.png

常用的pip源地址如下:清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣:http://pypi.douban.com/simple/

安装第三方依赖包

到此为止,就可以安装依赖包了 这里以安装requests库举例

# Pipfile文件目录下$ pipenv install requestsf9f6cb79cda5bb3c8fe024fb013893f3.png

这里执行了两步操作:1.安装到虚拟环境中,更新Pipfile里面的依赖版本。2.使用sha256算法更新pipfile.lock文件。 注意:默认情况下会加锁,速度很慢,可以使用如下命令不加锁加快速度

$ pipenv install xxx --skip-lock

卸载第三方依赖包

$ pipenv uninstall requests287d7d1c072c4698f068040c62de51f2.png

查看安装的所有第三方依赖

进入命令行交互模式:

$ pipenv shell

使用pip list查看

$ pip listc5e17e7eb5db88e7aa57d44c98f31ff2.png

因为之前卸载了requests,所以依赖不见了。

退出命令行交互模式:

$ exit

注意:千万不要使用deactivate命令,否则会出错!

常用选项

显示虚拟环境实际文件路径

pipenv --venv

显示虚拟环境python解释器所在路径

pipenv --py

显示项目文件所在路径

pipenv --where

删除虚拟环境

pipenv --rm

安装第三方依赖但不加锁(加快速度)

pipenv install xxx --skip-lock

常用命令参数:

锁定并生成pipfile.lock文件

pipenv lock

查看依赖关系

pipenv graph

在虚拟环境中运行python程序

pipenv run xxx.py

检查安全漏洞

pipenv check

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中upper函数有什么用_几个有用的python字符串函数(format,join,split,startwith,endwith,lower,upper)...

你需要知道的python字符串函数 format 字符串的format函数为非字符串对象嵌入字符串提供了一种非常强大的方法。在format方法中,字符串使用{}来代替一系列字符串的参数并规定格式。下面通过几个例子来详细解释其用法 直接使用{} apple_num 10 print("I have {…

QA

开发期间测试人员的工作是很多的,首先,要参加评审工作,比如需求评审、概要设计评审、详细设计评审等等,在评审过程中不要只抱着学习的目的,而是要提出有意义的建议,比如在需求评审中要提出一对可测试性需求…

用于连接mysql的java类_【考试】列举Java连接数据库用到的类有哪些。

好吧,说明一下JDBC连接数据库的步骤。创建一个以JDBC连接数据库的程序,包含7个步骤:1、加载JDBC驱动程序:例如:try{//加载MySql的驱动类Class.forName("com.mysql.jdbc.Driver") ;}catch(ClassNotFoundExcep…

水晶报表的统计功能-Crystal Report Sub total Per Page

先大概表述下我对水晶报表的理解: 大体上Crystal Report 可以理解为3部分: 第一部分:数据引擎 Crystal Report 集成了各种数据访问接口,可以方便的从数据仓库中提取数据,并把返回的数据做为一个数据集。 第二部分&…

centos 6.8安装git_RPM包的卸载与安装,包含依赖包卸载

一、 rpm包的管理介绍:一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有RPM扩展名的文件,RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的…

内置系统账户:Local system/Network service/Local Service 区别

LocalSystem 账户   LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证。这个服务账户可以打开注册表的HKEY_LOCAL_MACHINE\Security键,当LocalSystem访问网络资源时&a…

anaconda matplotlib 输出动画_Python+Matplotlib 制作排序算法的动画

1 、算法的魅力深刻研究排序算法是入门算法较为好的一种方法,现在还记得4年前手动实现常见8种排序算法,通过随机生成一些数据,逐个校验代码实现的排序过程是否与预期的一致,越做越有劲,越有劲越想去研究,公…

如何在centos中找到安装mysql_centos上如何安装mysql

centos可以使用yum安装mysql 但是版本很低,且不灵活。本文将介绍如何使用安装包安装mysql将下载文件放在/opt/mysoft文件夹中解压文件tar -xf MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar这里我们要安装mysql的服务端和客服端,所以使用下面两个…

myeclipse5.5注册码

Subscriber: myeclipse5.5 SubNULLion Code: zLR8ZC-850444-5453675708725833 转载于:https://www.cnblogs.com/shiningrise/archive/2009/04/06/1430382.html

python连接sqlite数据库的代码_Python3实现连接SQLite数据库的方法

本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值。分享给大家供大家参考之用。具体方法如下: 实例代码如下: import sqlite3 db r"D:\pyWork\test.db" #pyWork目录下test.db数据库文件 dr…

数据库mysql面试题 it_【模块三】数据库篇--MySQL面试题☞参考答案

【一】初级【二】中级执行过程【1】客户端向MySQL服务器发送一条查询请求【2】服务器首先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段【3】服务器进行SQL解析、预处理、再由优化器生成对应的执行计划【4】MySQL根据执行计…

iframe高度自适应(IE6+、FF、Opera、Chrome等测试通过)

在主页面中对于嵌入的iframe页面高度未知,而且iframe页面的高度也不定,故不能在主页面中通过DOM来控制高度。在iframe页面中加入以下脚本便可实现:/*iframe 高度自适应脚本(IE6、FF、Opera、Chrome等测试通过) 作者未知…

html选择器_css的9个常用选择器

1.类选择器&#xff08;通过类名进行选择&#xff09;<!DOCTYPE html> <html> <head><title></title> </head> <style type"text/css">.p1{color: #00ff00;}.p2{color: #0000ff;} </style> <body><p class…

dapperpoco mysql_.NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...

前言在以前的一篇文章中&#xff0c;为大家分享了《什么是ORM&#xff1f;为什么用ORM&#xff1f;浅析ORM的使用及利弊》。那么&#xff0c;在目前的.NET(C#)的世界里&#xff0c;有哪些主流的ORM&#xff0c;SqlSugar&#xff0c;Dapper&#xff0c;Entity Framework(EF)还是…

Resharper4.5:增强你的.net开发

Resharper4.5:增强你的.net开发 介绍 无庸置疑&#xff0c;ReSharper是最智能化的微软Visual Studio插件。它包括一系列丰富的能大大增加C#和Visual Basic.net开发者生产力的特征。使用ReSharper&#xff0c;你可以进行深度代码分析&#xff0c;智能代码协助&#xff0c;实时错…

mysql并发获取唯一数值_高并发分布式环境中获取全局唯一ID[分布式数据库全局唯一主键生成]...

需求说明在过去单机系统中&#xff0c;生成唯一ID比较简单&#xff0c;可以使用MySQL的自增主键或者Oracle中的sequence, 在现在的大型高并发分布式系统中&#xff0c;以上策略就会有问题了&#xff0c;因为不同的数据库会部署到不同的机器上&#xff0c;一般都是多主实例&…

mybatis collection_MyBatis之关联查询

前言我们进行数据库查询时往往需要的不止一张表的数据&#xff0c;需要将多张表的数据一起查询出来&#xff0c;大家学习过数据库的连接查询&#xff0c;那么在MyBatis中如何将有关系的多张表数据进行关联查询呢。表的结构商品和订单是典型的一对多关系&#xff0c;下面的案例我…

项目经理职责

一位在软件企业的朋友抱怨说公司的项目经常失控,客户意见非常大.由于我在一家软件外企负责PMO(项目管理办公室),他期望我能够推荐一些项目经理&#xff0c;职责要求是:1)领导项目团队&#xff0c;制定工作计划&#xff1b;2)需求分析;3)数据库设计4)系统设计&#xff1b;5)搭建…

mysql如何优化性能优化_如何优化性能?MySQL实现批量插入以优化性能的实例详解...

这篇文章主要介绍了MySQL实现批量插入以优化性能的教程,文中给出了运行时间来表示性能优化后的对比,需要的朋友可以参考下对于一些数据量较大的系统&#xff0c;数据库面临的问题除了查询效率低下&#xff0c;还有就是数据入库时间长。特别像报表系统&#xff0c;每天花费在数据…

数组 参数传递

/************************作者:张平*创建日期:2009 04 07*功能:************************//*void main(){ char str1[30]{"Peoples Republic of "}; char str2[]{"China"}; int a[2][3]{{1,2,3},{4,5,6}}; int b[3][2],i,j; printf("array a:\n&quo…