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中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
解决Pycharm运行时找不到文件的问题
Oct 29 Python
python实现一个简单的ping工具方法
Jan 31 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
Python3内置模块random随机方法小结
Jul 13 Python
Python实现图片添加文字
Nov 26 Python
tensorflow 查看梯度方式
Feb 04 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
使用python检查yaml配置文件是否符合要求
Apr 09 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
Python爬虫教程知识点总结
Oct 19 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 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
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
锋利的jQuery jQuery中的DOM操作
2010/03/21 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
Python中操作MySQL入门实例
2015/02/08 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
python事件驱动event实现详解
2018/11/21 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
Python全栈之列表数据类型详解
2019/10/01 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
社区工作者演讲稿
2014/05/23 职场文书
保密工作整改情况汇报
2014/11/06 职场文书