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

yipeiwu_com6年前Python基础

由于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

 

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

在虚拟环境管理依赖包

安装依赖包 yagmail requests

pipenv install yagmail requests

查看已安装软件

pipenv graph

删除依赖包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当中的array数组对象实例详解

Python当中的array数组对象实例详解

计算机为数组分配一段连续的内存,从而支持对数组随机访问; 由于项的地址在编号上是连续的,数组某一项的地址可以通过将两个值相加得出,即将数组的基本地址和项的偏移地址相加。 数组的基本地址...

Python中url标签使用知识点总结

Python中url标签使用知识点总结

1.在模板中,我们经常要使用一些url,实现页面之间的跳转,比如某个a标签中需要定义href属性。当然如果通过硬编码的方式直接将这个url固定在里面也是可以的,但是这样的话,对于以后进行...

Django发送邮件功能实例详解

以126邮箱为例 1 首先进126邮箱设置,开启: √POP3/SMTP服务  √IMAP/SMTP服务 成功开启后会获得一个授权码。 2. setting.py配置:...

Apache如何部署django项目

Apache如何部署django项目

在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目...

Python 实现自动获取种子磁力链接方式

Python 实现自动获取种子磁力链接方式

因为我闲来无事,所以准备找一部电影来看看。 然后我找到了种子搜索网站,可是这类网站的弹窗广告太多,搞得我很烦。所以我就想着自己用python写一个自动获取磁力链接的脚本。 整个大概写了半...