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 相关文章推荐
异步任务队列Celery在Django中的使用方法
Jun 07 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
OpenCV 边缘检测
Jul 10 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
Python及Pycharm安装方法图文教程
Aug 05 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
Aug 06 Python
sklearn-SVC实现与类参数详解
Dec 10 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
浅析Python迭代器的高级用法
Jul 16 Python
Python+Appium自动化测试的实战
Jun 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
PHP 中执行系统外部命令
2006/10/09 PHP
php中获得视频时间总长度的另一种方法
2011/09/15 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
javascript add event remove event
2008/04/07 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
ES6中Math对象新增的方法实例详解
2017/04/25 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python通过索引遍历列表的方法
2015/05/04 Python
分享给Python新手们的几道简单练习题
2017/09/21 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
django连接oracle时setting 配置方法
2019/08/29 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
在家更换处方镜片:Lensabl
2019/05/01 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
补充协议书范本
2014/04/23 职场文书
市场开发计划书
2014/05/07 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
幼儿园标语大全
2014/06/19 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android