1.虚拟环境产生的原因:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.

2.虚拟环境的作用:

(1)虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响.

(2)所有的虚拟环境都位于/home/用户名(指的是你电脑上的用户名)【我的Ubuntu系统的用户名叫:python】/下的隐藏目录.virtualenvs

3.安装过程

(1)通过终端命令:

sudo apt install python-virtualenv

sudo apt install virtualenvwrapper

或者通过以下命令(针对于安装了pip的,这种方法没试过,因为我的出错了,使用的是上面的两句代码)

sudo pip install virtualenv

sudo pip install virtualenvwrapper

如果没有报错,基本上就是安装成功了。

注意:执行命令的顺序不能颠倒,原因是virtualenvwrapper是依赖于virtualenv的;这里的virtualenv是虚拟环境,而virtualenvwrapper是对virtualenv的命令进行了封装,更加好用。

(3)创建虚拟环境

在Ubuntu系统中,由于本身自带了python2和pythn3,那么创建就分为不同的。

如果创建python2的虚拟环境:

mkvirtualenv 虚拟环境名称

如:mkvirtualenv python2_test  此时是基于python2的虚拟环境,名称为:python2_test,这个虚拟环境就是保存在/home/用户名/.virtualenvs/下的目录中

如果创建python3的虚拟环境:

mkvirtualenv -p python3 虚拟环境

(4)如果在创建过程中提示找不到virtualenv命令,那么需要如下步骤:

步骤一:在家目录下创建一个.virtualenvs目录(虚拟环境都是放在这里的)

步骤二:打开~/.bashrc文件,在文件中添加下面两句话:(可以使用sudo gedit ~/.bashrc)

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

此时再去创建就可以成功了!
注意:
如果创建不成功可以试试下面的命令:mkvirtualenv -p python路径 虚拟环境名称
python3创建虚拟环境:mkvirtualenv -p /usr/bin/python3 myfirst_python3 4.命令
(1)虚拟环境使用命令:workon 虚拟环境名称
(2)查看虚拟环境命令:workon 两次tab键
(3)退出虚拟环境命令:deactivate
(4)删除虚拟环境命令:rmvirtualenv 虚拟环境命令 使用命令是先退出,再删除
(5)在虚拟环境中安装包:先进入虚拟环境中,然后使用pip install xxx,
(6)查看虚拟环境中安装的包:pip freeze 更新:

错误原因:
Ubuntu安装了2.7和3.x两个版本的python,在安装时使用的是sudo pip3 install virtualenvwrapper
在我运行的时候默认使用的是python2.x,但在python2.x中不存在对应的模块。
(virtualenvwrapper.sh文件内容如下:):
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
fi
解决方法:修改virtualenvwrapper.sh文件
1.which virtualenvwrapper.sh找到文件路径
2.在文件路径下sudo vim virtualenvwrapper.sh
3.修改:
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
fi
解决

Ubuntu系统中创建虚拟环境的更多相关文章

  1. ubuntu系统下Python虚拟环境的安装和使用

    ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...

  2. ubuntu系统下创建软件桌面快捷方式

    转自ubuntu系统下创建软件桌面快捷方式 默认情况下,ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制- ...

  3. 在 Ubuntu 系统中部署 Git Server

    http://blog.csdn.NET/poisonchry/article/details/11849781 虽然有很多开源的Git仓库,不过并非所有都尽人意,譬如Github,Gitlab等,不 ...

  4. 手把手教你如何在Ubuntu系统中安装Pycharm

    前几天带大家一起安装了Ubuntu14.04系统,没来得及上车的伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编带大家一起在Ubuntu14.04中安装Py ...

  5. Ubuntu系统中登陆阿里云服务器的方法

    如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureF ...

  6. Ubuntu系统中安装RPM格式包的方法

    Ubuntu的软件包格式为deb,而RPM格式的包则是Red Hat 相关系统所用的软件包.当我们看到一个想用的软件包时,如果他是RPM格式,而你的操作系统是Ubuntu,那岂不是很遗憾?其实,在Ub ...

  7. 在Debian/Ubuntu系统中安装*.sh与*.bin文件

    在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...

  8. 利用workbench对linux/Ubuntu系统中的mysql数据库进行操作

    在上一篇文章中,我分享了在linux中如何安装mysql数据库,但是这只是安装了mysql的服务,并没有图形化管理界面,所以这样子操作起来并没有那么方便,那么现在我们就来实现如何利用在window中安 ...

  9. ubuntu系统中查看本机cpu和内存信息的命令和用法

    https://zhidao.baidu.com/question/192966322.html 写出ubuntu linux系统中查看本机cpu和内存信息的命令和用法,以及如何解读这些命令 ubun ...

随机推荐

  1. Reading Comprehensive

    我是红色 When I re-entered the full-time workforce a few years ago after a decade of solitary[隐士,独居] sel ...

  2. centos7 命令 对比 cenots6 命令

    1)  列出所有service开机启动项 centos 7 systemctl list-unit-files |grep enabled centos 6 chkconfig --list|grep ...

  3. Iris_MVC

    2. MVC包使用 在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. ...

  4. winform学习(7)Label控件、Button控件、TextBox控件

    Label控件是System.Windows.Forms.Label 类提供的控件. 作用:主要用来提供其他控件的描述文字,例如:登录窗体上的用户名.密码(输入框前面的字) Button控件是Syst ...

  5. Python记:列表和元组之序列相加

    _______________坐而论道,不如起而行之! 序列乘法运算示例:

  6. es7实现数学乘方

    //math.pow简写方法 console.log(2 ** 6)

  7. 【网易官方】极客战记(codecombat)攻略-地牢-攻破突袭

    关卡连接: https://codecombat.163.com/play/level/hack-and-dash 通过加速药来逃离地牢精灵 简介: 空气中弥漫着危险的气息.你应该从地牢里逃出来. 但 ...

  8. 生成树计数 lighting 最终决定用这个模板! (有逆元的模板)

    #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> # ...

  9. java 实体类 时间格式字段注解

    @DatetimeFormat是将String转换成Date,一般前台给后台传值时用 @JsonFormat(pattern="yyyy-MM-dd") 将Date转换成Strin ...

  10. Codeforces Round #577 (Div. 2) 题解

    比赛链接:https://codeforc.es/contest/1201 A. Important Exam 题意:有\(n\)个人,每个人给出\(m\)个答案,每个答案都有一个分值\(a_i\), ...