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. c++primer练习题

    2.7 输出地址和姓名(1 #include <iostream> using namespace std; int main() { int 距离; cout << &quo ...

  2. 数位dp(Balanced Numbers )

    题意:一个数,如果满足奇数的数字出现偶数次,偶数的数字出现奇数次, 就是符合的数,注比如:12313  就满足,因为1 3出现了偶数次.2出现了奇数次 思路,对于这道题,就是状态压缩加dp: 对于一个 ...

  3. 常见css属性

    div {            width: 100px;            height: 100px;            /* 表示行高 */            line-heigh ...

  4. 题解【SP1716】GSS3 - Can you answer these queries III

    题目描述 You are given a sequence \(A\) of \(N (N <= 50000)\) integers between \(-10000\) and \(10000 ...

  5. b 解题报告

    本题已收录至2019/9/15 本周总结 题目 [问题描述] Hja有一棵\(n\)个点的树,树上每个点有点权,每条边有颜色.一条路径的权值是这条路径上所有点的点权和,一条合法的路径需要满足该路径上任 ...

  6. AAC 码流信息分析

    AAC在对PCM数据进行编码时,使用window取出1024或128个数据进行MDCT转换到频域. Window的相关信息记录在ics_info中: 关于ics_info中各个字段的含义如下 wind ...

  7. RTMP服务器搭建(nginx+rtmp)

    参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...

  8. MongoDB高可用集群配置方案

    原文链接:https://www.jianshu.com/p/e7e70ca7c7e5 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非 ...

  9. Tinyhttp源码分析

    简介 Tinyhttp是一个轻量型Http Server,使用C语言开发,全部代码只500多行,还包括一个简单Client. Tinyhttp程序的逻辑为:一个无线循环,一个请求,创建一个线程,之后线 ...

  10. Linux下查看进程和端口信息

    1.根据进程名查看进程信息,以查看tomcat进程名为例,查看所对应的进程id为1095(或者使用: ps -aux | grep tomcat 查看占用内存等信息) ps -ef | grep to ...