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

前言

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

安装Pipenv

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

$ python -V
$ pip -V

在这里插入图片描述

安装Pipenv:

$ pip install pipenv

验证是否成功安装:

$ pipenv

出现以下则安装成功

创建虚拟环境

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

$ pipenv install

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

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

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

常用的pip源地址如下:

  1. 清华:https://pypi.tuna.tsinghua.edu.cn/simple
  2. 阿里云:http://mirrors.aliyun.com/pypi/simple/
  3. 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  4. 豆瓣:http://pypi.douban.com/simple/

安装第三方依赖包

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

# Pipfile文件目录下
$ pipenv install requests

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

$ pipenv install xxx --skip-lock

卸载第三方依赖包

$ pipenv uninstall requests

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

进入命令行交互模式:

$ pipenv shell

使用pip list查看

$ pip list

因为之前卸载了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

原文地址:https://www.cnblogs.com/qingdeng123/p/11677593.html

时间: 2024-10-01 07:54:48

Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了的相关文章

python 工具链 虚拟环境和包管理工具 pipenv

Pipenv is a tool that aims to bring the best of all packaging worlds (bundler, composer, npm, cargo, yarn, etc.) to the Python world. Windows is a first-class citizen, in our world. pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包.过去我们一般用virtualenv搭建虚

python版本管理工具pyenv和包管理工具pipenv

一.pyenv版本管理工具 pyenv是一个python版本管理工具,可以实现轻松切换多个python版本 它可根据每个用户更改全局python版本,也可以为每个项目指定python版本,还可以管理virtualenv虚拟环境,可以自己创建virtualenv或者通过pyenv-virtualenv来自动化创建虚拟环境 pyenv通过PATH环境变量来匹配切换python或者pip的工作目录,pyenv通过读取工作环境来指定使用哪个python版本,如在当前会话中查找PYENV_VERSION环

Python黑帽编程1.3 Python运行时与包管理工具

Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Python>一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题而作.由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人偏好.教程同时提供图文和视频教程两种方式,供不同喜好的同学选择. 0.2 前言 前两

第131讲:Hadoop集群管理工具均衡器Balancer 实战详解学习笔记

第131讲:Hadoop集群管理工具均衡器Balancer 实战详解学习笔记 为什么需要均衡器呢? 随着集群运行,具体hdfs各个数据存储节点上的block可能分布得越来越不均衡,会导致运行作业时降低mapreduce的本地性. 分布式计算中精髓性的一名话:数据不动代码动.降低本地性对性能的影响是致使的,而且不能充分利用集群的资源,因为导致任务计算会集中在部分datanode上,更易导致故障. balancer是hadoop的一个守护进程.会将block从忙的datanode移动到闲的datan

Debian的软件包管理工具命令 (dpkg,apt-get)详解

本文转载于:http://blog.chinaunix.net/uid-20769502-id-106056.html 1.dpkg包管理工具 dpkg --info "软件包名" --列出软件包解包后的包名称. dpkg -l --列出当前系统中所有的包.可以和参数less一起使用在分屏查看. dpkg -l |grep -i "软件包名" --查看系统中与"软件包名"相关联的包. dpkg -s 查询已安装的包的详细信息. dpkg -L 查

进程管理工具之ps top详解

ps # 静态进程查看PS: # 命令格式: #           ps aux 查看系统所有进程 ps –l:仅仅查看自己的bash相关的进程 [[email protected] proc]# ps -l F S  UID   PID  PPID  CPRI  NI ADDR SZ WCHAN  TTY         TIME CMD 4 S    0 26672 26657  0  80   0- 27148 wait   pts/2    00:00:01 bash 4 R    0

CentOS中Python pip包管理工具的安装和使用

Python有很多第三方的模块或包,要管理这些包,有很多方法.python的pip包管理工具,类似与CentOS中yum,使用该工具安装Python包非常方便. 从Python内部来说,pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品.distribute是setuptools的取代(Setuptools包后期不再维护了),pip是easy_install的取代. pip的安装前需要setuptools 或者 distribute,如果你使用的是P

Python之包管理工具

在Python环境中已经有很多成熟的包,可以通过安装这些包来扩展我们的程序. 例如,很多时候Python开发人员都会去PyPI网站去查找自己想要使用的包,然后进行安装.PyPI ( Python Package Index)是获得第三方 Python 软件包以补充标准库的一个站点. 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_install和pip等等. 突然对Python的包管理凌

Python包管理工具小结

此文已由作者张耕源授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 作为一名接触Python有一段时间的初学者,越来越体会到Python的方便之处,它使人能更 多的关注业务本身的逻辑,而不用太纠结语言层面的技巧与细节.然而,随着服务的规模 变得越来越大,如何方便快速地制作与发布一个Python软件包则越来越成为一个让人头疼 地问题,特别是像Openstack这种相对复杂.各种依赖也很多的Python项目,到目前也没有 发现特别完美的解决方案.这里将尝试对Python的包管