Python环境管理virtualenv&virtualenvwrapper的配置详解


Posted in Python onJuly 01, 2020

背景

Python 作为一门成熟的编程语言,拥有无数优秀的第三方包以方便开发者能够快速地构建应用。一般来说,如果你开发了一个 Python 软件包想供其他人使用,你可以将它上传至 PyPI (Python Package Index) 上,然后其他人就可以通过 pip 或者 easy_install等命令轻松地下载和管理各种包。

但是如果在所有的项目都在一个 Python 环境下,势必会引起包冲突。因此需要一款软件能够把每个项目的Python环境分离开,每个项目有自己独立的Python版本以及依赖。

virtualenv部分

virtualenv 就是这样一款能够建立隔离的 Python 环境的工具。

一. 安装

pip install virtualenv

安装完成之后,输入 virtualenv?version 如果输入版本号,表明安装成功。

二. 基本用法

1、创建环境

cd my_project # 进入工作目录
virtualenv -p /usr/local/bin/python3.8 myenv # 创建一个 python3.8,名为 myenv 的虚拟环境

执行后,当前目录下会生成一个与虚拟环境同名的文件夹,里面包含 Python 可执行文件和 pip 库。
在缺省的情况下,虚拟环境中并没有包含系统环境下的site-packages。如果想要使用系统环境下的第三方包,可以在创建环境的时候使用 --system-site-packages。

virtualenv -p /usr/local/bin/python3.8 --system-site-packages myenv

2、使用环境

cd myenv # 进入虚拟环境目录
source bin/activate # 激活该虚拟环境

运行完之后,命令行的最前面应该出现括号,里面内容是虚拟环境的名字。代表我们已经处于该环境之下,如下图所示。

Python环境管理virtualenv&virtualenvwrapper的配置详解

3、退出环境

deactivate

virtualenvwrapper部分

virtualenv 实际上已经足够优秀,但是在操作上稍稍有些繁琐。比如每次使用 source命令激活环境,忘记虚拟环境的地址等等。别急, virtualenvwrapper 这一工具会让你觉得环境管理是如此简单,优雅。

一. 安装

pip install virtualenvwrapper

二. 配置

将下面的代码添加到 .bash_profile(或者 .zshrc)

# virtualenvwrapper config
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
	export WORKON_HOME=$HOME/.virtualenvs 
	source /usr/local/bin/virtualenvwrapper.sh
fi

其中 WORKON_HOME是告诉 virtualenvwrapper 放置虚拟环境的位置。
添加完之后,执行

source ~/.bash_profile

如果想要确认是否真的安装成功,可以执行

mkvirtualenv --help

如果输出帮助信息,则安装成功。

三. 基本用法

1、创建虚拟环境

mkvirtualenv -p python3 myenv # 创建一个python3,名为myenv的虚拟环境

注意:和 virtualenv 不同,virtualenvwrapper 是在我们刚才所说的 WORKON_HOME目录中创建的虚拟环境而非当前目录。
可以看到命令行的最前面有了括号,里面是环境的名字。也就是说创建完成之后,同时也激活了该环境。可以查看当前环境下的 Python 版本 python-V和已安装的软件包 pip list。
默认情况下,virtualenvwrapper 不会包含系统的软件包,只会安装一些基本的软件包,例如pip, setuptools等等。

2、查看所有的虚拟环境

lsvirtualenv

将会列出所有的虚拟环境的名称。
当然你也可以到 ~/.virtualenvs查看所有的虚拟环境。

3、切换虚拟环境

workon [env]  # 直接切换到env

4、退出虚拟环境

deactivate

5、删除虚拟环境

rmvirtualenv [env]

6、项目中引用虚拟环境
方法一:在终端中执行
环境已经创建好了,且也已经激活了。首先进去我的项目目录,执行一下程序。看下图说明是可以了。

Python环境管理virtualenv&virtualenvwrapper的配置详解

方法二:在pycharm IDE中执行
首次创建环境后,需要在IDE中add一下。
选择Existing environment,在下面即可找到刚刚创建的虚拟环境myenv。
下次进入其他项目时,可以直接选就可以了。

Python环境管理virtualenv&virtualenvwrapper的配置详解

参考链接:
https://xu3352.github.io/python/2018/08/17/Python-work-with-virtualenv-and-virtualenvwrapper
官方文档:https://virtualenvwrapper.readthedocs.io/en/latest/

到此这篇关于Python环境管理virtualenv&virtualenvwrapper的配置详解的文章就介绍到这了,更多相关Python环境管理virtualenv&virtualenvwrapper内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python程序设计入门(2)变量类型简介
Jun 16 Python
使用Python生成url短链接的方法
May 04 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
python自动12306抢票软件实现代码
Feb 24 Python
python画柱状图--不同颜色并显示数值的方法
Dec 13 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
浅析python redis的连接及相关操作
Nov 07 Python
Python 求数组局部最大值的实例
Nov 26 Python
Python sqlite3查询操作过程解析
Feb 20 Python
python数据预处理 :数据共线性处理详解
Feb 24 Python
Python计算信息熵实例
Jun 18 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 #Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 #Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 #Python
python 读取.nii格式图像实例
Jul 01 #Python
使用npy转image图像并保存的实例
Jul 01 #Python
python实现npy格式文件转换为txt文件操作
Jul 01 #Python
python与pycharm有何区别
Jul 01 #Python
You might like
社区(php&&mysql)二
2006/10/09 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
javascript 快速排序函数代码
2012/05/30 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
基于vue cli重构多页面脚手架过程详解
2018/01/23 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
elementui更改el-dialog关闭按钮的图标d的示例代码
2020/08/04 Javascript
ptyhon实现sitemap生成示例
2014/03/30 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Python+django实现简单的文件上传
2016/08/17 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
python selenium 弹出框处理的实现
2019/02/26 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
《颐和园》教学反思
2014/02/26 职场文书
新年主持词
2014/03/27 职场文书
企业授权委托书范本
2014/04/02 职场文书
人代会标语
2014/06/30 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
单位提档介绍信
2015/10/22 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
如何用Python搭建gRPC服务
2021/06/30 Python
Python list列表删除元素的4种方法
2021/11/01 Python