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 相关文章推荐
HTML中使用python屏蔽一些基本功能的方法
Jul 07 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
正确理解Python中if __name__ == '__main__'
Jan 24 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
python简单实现AES加密和解密
Mar 28 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
Python3 assert断言实现原理解析
Mar 02 Python
Java ExcutorService优雅关闭方式解析
May 30 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文件的实现方法
2007/03/19 PHP
php实现jQuery扩展函数
2009/10/30 PHP
让你成为更出色的PHP开发者的10个技巧
2011/02/25 PHP
php简单实现数组分页的方法
2016/04/30 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
JavaScript每天必学之事件
2016/09/18 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
详解VUE 数组更新
2017/12/16 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
pandas中的series数据类型详解
2019/07/06 Python
python Django 创建应用过程图示详解
2019/07/29 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Python gevent协程切换实现详解
2020/09/14 Python
python实现简单遗传算法
2020/09/18 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
民事和解协议书格式
2014/11/29 职场文书
顶岗实习计划书
2015/01/16 职场文书
员工手册编写范本
2015/05/14 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
python 遍历磁盘目录的三种方法
2021/04/02 Python
go语言中http超时引发的事故解决
2021/06/02 Golang
golang 实用库gotable的具体使用
2021/07/01 Golang