Ubuntu系统中创建虚拟环境
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系统中创建虚拟环境的更多相关文章
- ubuntu系统下Python虚拟环境的安装和使用
ubuntu系统下Python虚拟环境的安装和使用 前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...
- ubuntu系统下创建软件桌面快捷方式
转自ubuntu系统下创建软件桌面快捷方式 默认情况下,ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制- ...
- 在 Ubuntu 系统中部署 Git Server
http://blog.csdn.NET/poisonchry/article/details/11849781 虽然有很多开源的Git仓库,不过并非所有都尽人意,譬如Github,Gitlab等,不 ...
- 手把手教你如何在Ubuntu系统中安装Pycharm
前几天带大家一起安装了Ubuntu14.04系统,没来得及上车的伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编带大家一起在Ubuntu14.04中安装Py ...
- Ubuntu系统中登陆阿里云服务器的方法
如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureF ...
- Ubuntu系统中安装RPM格式包的方法
Ubuntu的软件包格式为deb,而RPM格式的包则是Red Hat 相关系统所用的软件包.当我们看到一个想用的软件包时,如果他是RPM格式,而你的操作系统是Ubuntu,那岂不是很遗憾?其实,在Ub ...
- 在Debian/Ubuntu系统中安装*.sh与*.bin文件
在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...
- 利用workbench对linux/Ubuntu系统中的mysql数据库进行操作
在上一篇文章中,我分享了在linux中如何安装mysql数据库,但是这只是安装了mysql的服务,并没有图形化管理界面,所以这样子操作起来并没有那么方便,那么现在我们就来实现如何利用在window中安 ...
- ubuntu系统中查看本机cpu和内存信息的命令和用法
https://zhidao.baidu.com/question/192966322.html 写出ubuntu linux系统中查看本机cpu和内存信息的命令和用法,以及如何解读这些命令 ubun ...
随机推荐
- 关于#progma comment 中库文件相对路径问题 (转)
最近做一个验证程序的对话框编程,因为里面要要用到静态链接库,所以就稍微的学习了下静态链接库知识,学习的过程中感觉到了自己所了解的东西实在是少的可怜,更加坚定了自己要更加上进的决心,要把以前所丢掉的都给 ...
- LOJ138 类欧几里得算法
类欧几里得算法 给出 \(T\) 组询问,每组用 \(n, a, b, c, k_1, k_2\) 来描述.对于每组询问,请你求出 \[ \sum_{x = 0} ^ {n} x ^ {k_1} {\ ...
- JQuery/JS插件 jsTree加载树,普通加载,点一级加载一级
前端: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...
- react生命周期方法有哪些?
react生命周期方法有哪些? React 16.3+ getDerivedStateFromProps:在调用render()之前调用,并在每次渲染时调用.需要使用派生状态的情况是很罕见的 comp ...
- SpringBoot 各层之间的关系
SpringBoot 各层之间的关系 SpringBoot 分为四层:controller层.service层.dao层.entity层. entity层:和 model 层一样,存放的是实体类,属 ...
- awk从放弃到入门(3):awk变量
一.变量概述 对于awk来说"变量"又分为"内置变量" 和 "自定义变量" , "输入分隔符FS"和"输出分隔 ...
- 使用 navigator.sendBeacon() 上报数据
http://kaifage.com/notes/76/navigator-sendBeacon.html 如某些统计系统,在页面unload时,如果要上报当前数据,采用xhr的同步上报方式,会阻塞当 ...
- Java通过反射读取泛型
1.在这里有必要先提一句关于javabean,建议有一个构造器,而不是必须要写的,这是一个良好的习惯. 这样做肯定是有好处的,如果你的一个类写了带参的构造方法,而没有写空的构造方法,那么,如有有一个类 ...
- vs 安装svn插件
在很多互联网开发的团队里面,用到的代码管理器都是SVN,svn目前有客户端和集成到VS里面两种(不清楚分类是否正确).客户端的在这里我就不写了,我目前用到比较多的都是集成到VS里面的,而且目前用着还是 ...
- 初学mysql数据库
package com.conn; import java.sql.Connection; import java.sql.DriverManager; public class Conn { pub ...