Pipenv一键搭建python虚拟环境的方法


Posted in Python onMay 22, 2018

由于python2和python3在部分语法上不兼容, 导致有人打趣道:"Python2和Python3是两门语言"

对于初学者而言, 如果同时安装了python2和python3, 那运行python程序就可能会遇到2和3混用的尴尬

为解决python不同版本混用的尴尬,避免污染系统python的依赖包环境, 我们需要创建虚拟环境, 将python2和python3隔离使用

pipenv的优势:

以前我们搭建虚拟环境需要学习使用virtualenv和virtualenvwrapper,在虚拟环境内管理软件依赖包需要学习使用pip, 而有了pipenv, 前面几个就可以不用学了...

以前我们需要将虚拟环境依赖包的导出为 requirements.txt , 一旦依赖包变动,就要重新导出,而pipenv会自动帮我们生成 PipfilePipfile.lock , Pipfile会随着项目,当我们安装时只需在 PipfilePipfile.lock 所在的目录下运行 pipenv install

安装pipenv

方法一: ubuntu用apt安装

sudo apt install software-properties-common python-software-properties
sudo add-apt-repository ppa:pypa/ppa
sudo apt update
sudo apt install pipenv

方法二: windows用pip安装

pip install pipenv

方法三: MacOS直接使用brew安装

brew install pipenv

快速创建并进入虚拟环境

前提条件: 系统已安装python2和python3

# 创建python3环境
pipenv --three
# 创建python2环境
pipenv --two
# 在上一步新建环境的目录下,运行此命令才有效
pipenv shell

Pipenv一键搭建python虚拟环境的方法 

小技巧: 如果子级目录的父级目录已经创建过虚拟环境, 则子级目录无法创建虚拟目录(子级目录无法生成Pipfile, 子级默认会使用父级的虚拟环境), 如果确实需要在子级目录创建独立的虚拟环境,可以运行 pipenv --where 获取父级虚拟环境的名字, 根据虚拟环境的前半部分名字, 确定父级目录的位置, 然后删除父级目录下的 Pipfile , Pipfile.lock , 运行 exit 退出父级虚拟环境,然后回到子目录,运行 pipenv --three 创建子目录的虚拟环境即可

在虚拟环境管理依赖包

安装依赖包 yagmail requests

pipenv install yagmail requests

查看已安装软件

pipenv graph

Pipenv一键搭建python虚拟环境的方法

删除依赖包yagmail

pipenv uninstall yagmail

退出虚拟环境

exit

扩展命令(不看也没关系)

查看虚拟环境python解释器所在位置

pipenv --py

查看虚拟环境所在位置

pipenv --venv

使用更底层的命令 pip freeze

pipenv run pip freeze

只在安装开发阶段使用的软件包(和npm类似)

pipenv install pytest --dev

安装Pipfile.lock的所有包(完整移植开发环境)

pipenv sync

小结:

pipenv借鉴了npm管理包的方式, 与virtualenv和virtualenvwrapper相比, pipenv对新书要更友好一些,推荐学习~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python列表操作实例
Jan 14 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
python实现聊天小程序
Mar 13 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
基于python爬取梨视频实现过程解析
Nov 09 Python
python实现猜拳游戏项目
Nov 30 Python
PyTorch线性回归和逻辑回归实战示例
May 22 #Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 #Python
python利用smtplib实现QQ邮箱发送邮件
May 20 #Python
用Python下载一个网页保存为本地的HTML文件实例
May 21 #Python
Python读取本地文件并解析网页元素的方法
May 21 #Python
详解Python中的四种队列
May 21 #Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 #Python
You might like
JAVA/JSP学习系列之六
2006/10/09 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
php开发工具有哪五款
2015/11/09 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
python中的编码知识整理汇总
2016/01/26 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
Python中操作符重载用法分析
2016/04/29 Python
Python 多线程的实例详解
2017/09/07 Python
详解Python中的动态属性和特性
2018/04/07 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
python list转矩阵的实例讲解
2018/08/04 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python版百度语音识别功能
2019/07/09 Python
python通过http下载文件的方法详解
2019/07/26 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
电视购物广告词
2014/03/19 职场文书
综治工作心得体会
2014/09/11 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
经济纠纷起诉状
2015/05/20 职场文书
生产车间管理制度
2015/08/04 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技