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 相关文章推荐
Python中设置变量访问权限的方法
Apr 27 Python
Python中动态创建类实例的方法
Mar 24 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 Python
python爬取个性签名的方法
Jun 17 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
python爬虫要用到的库总结
Jul 28 Python
python 远程执行命令的详细代码
Feb 15 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
用PHP实现维护文件代码
2007/06/14 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
基于php-fpm 参数的深入理解
2013/06/03 PHP
php生成短域名函数
2015/03/23 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
使用javascript实现简单的选项卡切换
2015/01/09 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
python图片验证码生成代码
2016/07/02 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
thinkphp5 路由分发原理
2021/03/18 PHP
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
美国性感女装网站:bebe
2017/03/04 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
函授大学生自我鉴定
2014/02/05 职场文书
数学教学随笔感言
2014/02/17 职场文书
公司年会策划方案
2014/05/17 职场文书
医德医风个人总结
2015/02/28 职场文书
国博复兴之路观后感
2015/06/02 职场文书
python实现双链表
2022/05/25 Python