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分割TXT文件成4K的TXT文件
May 23 Python
python正则实现计算器功能
Dec 14 Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 Python
python定向爬虫校园论坛帖子信息
Jul 23 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
详解Python字典小结
Oct 20 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
利用Python复制文件的9种方法总结
Sep 02 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
Opencv求取连通区域重心实例
Jun 04 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 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
PHP 上传文件大小限制
2009/07/05 PHP
Yii数据模型中rules类验证器用法分析
2016/07/15 PHP
phpfpm的作用和用法
2019/10/10 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
js的回调函数详解
2015/01/05 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
python实现决策树分类算法
2017/12/21 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
Python的Lambda函数用法详解
2019/09/03 Python
Django 自动生成api接口文档教程
2019/11/19 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
python利用platform模块获取系统信息
2020/10/09 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
应届毕业生自荐书
2014/06/18 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
公司放假通知范文
2015/04/14 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
早上好问候语大全
2015/11/10 职场文书