Python虚拟环境virtualenv的安装与使用详解


Posted in Python onMay 28, 2017

前言

动态语言Ruby、Python都有自己的虚拟环境,虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于Python2的环境中运行,而项目B可以在基于Python3的环境中运行。Python通virtualenv工具管理虚拟环境。

安装 virtualenv

$ pip install virtualenv

使用方法

$ cd my_project_folder
$ virtualenv venv

执行完命令后它会在当前目录下创建文件夹,这个文件夹包含一些Python执行文件,以及pip副本,用于安装其他的packges。

.
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── activate_this.py
│ ├── easy_install
│ ├── easy_install-3.5
│ ├── pip
│ ├── pip3
│ ├── pip3.5
│ ├── python -> python3
│ ├── python3
│ ├── python3.5 -> python3
│ └── wheel
├── include
│ └── python3.5m -> /Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m
└── lib
 └── python3.5

此外在创建env的时候可以选择指定的Python解释器,例如下面是基于Python3创建的虚拟环境

$ virtualenv -p /usr/local/bin/python3 venv

默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境

virtualenv --no-site-packages [虚拟环境名称]

激活虚拟环境

cd env
source ./bin/activate

激活成功后,在命令行会显示虚拟环境的名称,类似((env)Your-Computer:your_project UserName$)

退出虚拟环境

$ deactivate

如果想删除虚拟环境,那么直接运行rm -rf venv/命令即可。

在虚拟环境安装Python packages

Virtualenv 附带有pip安装工具,因此需要安装的packages可以直接运行:

pip install [套件名称]

如果没有启动虚拟环境,系统环境也安装了pip工具,那么packages将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

如果在没开启虚拟环境时运行pip,就会提示错误:

Could not find an activated virtualenv (required).

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

      1. 将所有虚拟环境整合在一个目录下

      2. 管理(新增,删除,复制)虚拟环境

      3. 切换虚拟环境

      4. ...

安装Virtualenvwrapper

安装Virtualenvwrapper前需要virtualenv已近安装

$ pip install virtualenvwrapper

此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,先别急,打开这个文件看看,里面有安装步骤,我们照着操作把环境设置好。

1、创建目录用来存放虚拟环境

mkdir $HOME/Envs

编辑~/.zshrc或~/.bashrc(根据你使用shell类型决定)

export WORKON_HOME=$HOME/Envs source /usr/local/bin/virtualenvwrapper.sh 3. 运行:

$ source ~/.zshrc

此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:

1、列出虚拟环境列表

workon 或者 lsvirtualenv

新建虚拟环境

mkvirtualenv [虚拟环境名称]

2、启动/切换虚拟环境

workon [虚拟环境名称]

3、删除虚拟环境

rmvirtualenv [虚拟环境名称]

4、离开虚拟环境,和virutalenv一样的命令

deactivate

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家三水点靠木的支持。

Python 相关文章推荐
python flask实现分页效果
Jun 27 Python
python中模块查找的原理与方法详解
Aug 11 Python
python机器人行走步数问题的解决
Jan 29 Python
Python实现的FTP通信客户端与服务器端功能示例
Mar 28 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
django 实现电子支付功能的示例代码
Jul 25 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
用python打印菱形的实操方法和代码
Jun 25 Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 Python
基于python plotly交互式图表大全
Dec 07 Python
python实现简易名片管理系统
Apr 11 Python
python 调用win32pai 操作cmd的方法
May 28 #Python
Python 稀疏矩阵-sparse 存储和转换
May 27 #Python
Django基础之Model操作步骤(介绍)
May 27 #Python
python之PyMongo使用总结
May 26 #Python
Python3安装Pymongo详细步骤
May 26 #Python
Python计时相关操作详解【time,datetime】
May 26 #Python
Python表示矩阵的方法分析
May 26 #Python
You might like
php session 检测和注销
2009/03/16 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
php给图片加文字水印
2015/07/31 PHP
Yii核心验证器api详解
2016/11/23 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
php使用curl模拟多线程实现批处理功能示例
2019/07/25 PHP
ajax java 实现自动完成功能
2012/12/19 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
python中循环语句while用法实例
2015/05/16 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
python3 下载网络图片代码实例
2019/08/27 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
小学生期末评语大全
2014/04/21 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
三峡大坝导游词
2015/01/31 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
浅谈Python numpy创建空数组的问题
2021/05/25 Python