virtualenv介绍及简明教程


Posted in Python onJune 23, 2020

virtualenv简介

在开发Python应用程序的时候,我们的系统上通常只会安装一个Python版本:例如 3.7。所有使用 pip 安装的第三方包都会被安装到Python的site-packages目录下。如果我们同时开发多个应用程序,而这些应用程序需要使用的某一个第三方包的版本各不相同,该怎么办?这种情况下,为每个应用程序“独立”安装一套Python运行环境显然是不现实的。这个难题,使用 virtualenv 可以轻易解决。

virtualenv 是专门用来为应用程序维护多套相互“隔离”的Python运行环境的工具,借助 virtualenv 我们可以在一台主机上创建多套相互隔离的Python运行环境。

安装virtualenv

安装准备

安装 virtualenv 之前需要先确认是否安装好 python 和 pip 。

# python -V
Python 2.7.
 
# pip -V
pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

pip安装virtualenv

pip install virtualenv
# 或者
pip3 install virtualenv
 
# 检查是否安装成功
virtualenv --version
virtualenv 20.0.17 from /usr/local/python3/lib/python3.7/site-packages/virtualenv/__init__.py

常见问题: -bash: virtualenv: command not found

解决办法:

# 找到 virtualenv 的安装路径
find / -name virtualenv
# /usr/local/python3/bin/virtualenv
# 创建软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

virtualenv各种其他命令如下:

用法:

$ virtualenv [OPTIONS] DEST_DIR

选项:

?version
显示当前版本号。

-h, ?help
显示帮助信息。

-v, ?verbose
显示详细信息。

-q, ?quiet
不显示详细信息。

-p PYTHON_EXE, ?python=PYTHON_EXE
指定所用的python解析器的版本,比如 ?python=python2.5 就使用2.5版本的解析器创建新的隔离环境。 默认使用的是当前系统安装(/usr/bin/python)的python解析器

?clear
清空非root用户的安装,并重头开始创建隔离环境。

?no-site-packages
令隔离环境不能访问系统全局的site-packages目录。

?system-site-packages
令隔离环境可以访问系统全局的site-packages目录。

?unzip-setuptools
安装时解压Setuptools或Distribute

?relocatable
重定位某个已存在的隔离环境。使用该选项将修正脚本并令所有.pth文件使用相当路径。

?distribute
使用Distribute代替Setuptools,也可设置环境变量VIRTUALENV_DISTRIBUTE达到同样效要。

?extra-search-dir=SEARCH_DIRS
用于查找setuptools/distribute/pip发布包的目录。可以添加任意数量的?extra-search-dir路径。

?never-download
禁止从网上下载任何数据。此时,如果在本地搜索发布包失败,virtualenv就会报错。

?prompt==PROMPT
定义隔离环境的命令行前缀。

使用virtualenv

# 创建一个文件夹用来存放各个环境的相关文件
mkdir envs
cd envs
 
# 创建一个名称为 test_env 的不带任何第三方包的独立的Python运行环境
virtualenv test_env
# 或者
mkdir test_env
cd test_env
virtualenv .
 
# 进入环境
source test_env/bin/activate
(test_env) [root@hadoop34 envs]#
 
# 为环境安装软件包
(test_env) [root@hadoop34 envs]# pip install requests
 
# 退出环境
(test_env) [root@hadoop34 envs]# deactivate

综上

virtualenv就是一个搭建虚拟化的python环境,便于不同的项目在同一台机器上开发运行。

virtualenv更多的还是适用于本地开发不同的项目,但是在生产环境中还是使用docker给不同的项目创建不同的容器,各自分开运行为好,不宜放在一个单独的物理机中运行。

到此这篇关于virtualenv介绍及简明教程的文章就介绍到这了,更多相关virtualenv使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
1分钟快速生成用于网页内容提取的xslt
Feb 23 Python
python删除某个字符
Mar 19 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python读写docx文件的方法
May 08 Python
python3.6利用pyinstall打包py为exe的操作实例
Oct 31 Python
pandas通过索引进行排序的示例
Nov 16 Python
python使用Turtle库绘制动态钟表
Nov 19 Python
Python3实现腾讯云OCR识别
Nov 27 Python
pytorch sampler对数据进行采样的实现
Dec 31 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
Python sorted排序方法如何实现
Mar 31 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
python不同系统中打开方法
Jun 23 #Python
自学python用什么系统好
Jun 23 #Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 #Python
python为什么会环境变量设置不成功
Jun 23 #Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
Jun 23 #Python
解决tensorflow 释放图,删除变量问题
Jun 23 #Python
TensorFlow中如何确定张量的形状实例
Jun 23 #Python
You might like
mysq GBKl乱码
2006/11/28 PHP
php session安全问题分析
2011/06/24 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
JavaScript入门教程 Cookies
2009/01/31 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
jquery 使用简明教程
2014/03/05 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
[01:05:29]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第二场 1月24日
2021/03/11 DOTA
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python删除字符串中指定字符的方法
2018/08/13 Python
Python assert语句的简单使用示例
2019/07/28 Python
基于matplotlib xticks用法详解
2020/04/16 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
视光学专业毕业生推荐信
2013/10/28 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
初二学生评语大全
2014/12/26 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
升职自荐书
2019/05/09 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
七年级话题作文之执着
2019/11/19 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL