ubuntu下创建python的虚拟环境
当我们在同一个机器上进行开发多个项目,每个项目于用到包的不同版本的时候,就很尴尬。
安装python包的命令是:
sudo pip install 包名
这样的话,会将包安装到/usr/local/lib/python2.7/disk-packages下。所有的包都会安装到这里。
当我们安装相同包的不同版本就会发生覆盖。非常尴尬。
怎样解决呢??安装python的虚拟环境!
安装python虚拟环境步骤如下:
1 升级一下python包管理工具pip
sudo pip install --upgrade pip
想升级包的时候 都可以用 sudo pip install --upgrade 包名
2 python虚拟环境工具安装
sudo pip install virtualenv 或者 sudo apt-get install virtualenv
sudo pip install virtualenvwrapper 或者 sudo easy_install virtualenvwrapper
3 创建自己的虚拟环境
正常安装完两个工具,我们可以使用一下命令操作我们的虚拟环境:
创建虚拟环境: mkvirtualenv 环境名称
创建python2的虚拟环境:
mkvirtualenv -p /usr/bin/python2.7 虚拟环境名称
创建python3的虚拟环境: 原理同上
mkvirtualenv -p /usr/bin/python3.5 虚拟环境名称
使用虚拟环境: workon 环境名称
退出虚拟环境: deactivate
删除虚拟环境: rmvirtualenv 环境名称
但是 发现 提示我们 没有mkvirtualenv命令,这个时候需要我们设置一下环境变量:
3.1 创建要给目录用来存放我们的虚拟环境,需要选择自己的家目录下创建,存放虚拟环境的目录是一个隐藏目录 名为: .virtualenvs 意思是 virtual environments 虚拟环境
mkdir $HOME/.virtualenvs
注意,创建之后不要进入这个目录,否则接下来绑定命令会出错
3.2 打开~/.bashrc文件,添加如下两行:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
保存后终端执行:
source ~/.bashrc
执行完这两个步骤之后,系统就能识别mkvirtualenv命令啦~~~下面就可以创建自己的虚拟环境啦~
正常安装完两个工具,我们可以使用一下命令操作我们的虚拟环境:
创建虚拟环境: mkvirtualenv 环境名称
如果装了python3的环境,默认会安装一个python3的虚拟环境。
因为很多包还没有更新到python3,创建一个符合自己版本的虚拟环境如下:
需要先找到自己python的安装路径和版本,我以我自己的为例:
创建python2的虚拟环境:
mkvirtualenv -p /usr/bin/python2.7 虚拟环境名称
创建python3的虚拟环境: 原理同上
mkvirtualenv -p /usr/bin/python3.5 虚拟环境名称
注意:虽然选择了创建python版本的安装路径,但创建出来的虚拟环境目录仍然在我们自己创建的.virtualenvs 里
使用虚拟环境: workon 环境名称
退出虚拟环境: deactivate
删除虚拟环境: rmvirtualenv 环境名称
查看所有的虚拟环境: workon 两次tab
创建虚拟环境之后默认就进入这个虚拟环境了~注意命令提示符已经发生改变。
4 在自己的虚拟环境中安装和导入工具包,安装在自己的虚拟环境,与真实环境是不影响的。
注意 不要使用sudo命令 这里是虚拟环境
安装包: pip install 包名称 例如: pip install pymysql
查看当前虚拟环境种的包: pip list
升级包: pip install --update 包名
卸载包: pip uninstall 包名
通过以上方法,我们就可以创建自己的虚拟环境,在不同的项目中使用不同的环境用不同版本的包来开发啦!
ubuntu下创建python的虚拟环境的更多相关文章
- Ubuntu系统下创建python数据挖掘虚拟环境
虚拟环境: 虚拟环境是用于创建独立的python环境,允许我们使用不同的python模块和版本,而不混淆. 让我们了解一下产品研发过程中虚拟环境的必要性,在python项目中,显然经常要使用不 ...
- windows下创建Python虚拟环境
windows下创建Python虚拟环境 说明 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv ...
- 更改Ubuntu下默认Python版本
更改Ubuntu下默认Python版本 首先查看系统内有哪些版本的Python ls /usr/bin/python* 查看当前python版本 python --version 基于用户修改默认版本 ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- 在ubuntu下编写python(python入门)
在ubuntu下编写python 一般情况下,ubuntu已经安装了python,打开终端,直接输入python,即可进行python编写. 默认为python2 如果想写python3,在终端输入p ...
- Ubuntu 下生成 python 环境安装文件 requirements.txt
参考: 查找python项目依赖并生成requirements.txt Ubuntu 下生成 python 环境安装文件 requirements.txt 首先通过 pip 安装pyreqs模块: p ...
- ( 转)Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法
Ubuntu下创建.重命名.删除文件及文件夹,强制清空回收站方法 mkdir 目录名 ——创建一个目录 rmdir 空目录名 ——删除一个空目录 rm 文件名 文件名 ——删除一个文件或多个文件 rm ...
- ubuntu下创建文件夹快捷方式
title: ubuntu下创建文件夹快捷方式 toc: false date: 2018-09-01 17:22:28 categories: methods tags: ubuntu 快捷方式 s ...
- linux中创建python的虚拟环境
1,何为虚拟环境 linux是支持多用户的系统,如果某一位用户不想使用公用环境,想指定特殊的python版本安装仅供个人使用的一些包,那么虚拟环境将满足他的要求 2,虚拟环境使用需要virtualen ...
随机推荐
- 设计模式——组合模式(C++实现)
组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 是一种结构型模式 使用场景: 1.用于对象的部分-整体层次结构,如树 ...
- CucumberJS 资源
https://cucumber.io/docs/reference/javascript https://github.com/cucumber/cucumber-js
- leaflet渲染mapbox gl的矢量数据
准备条件 1.mapbox-gl.js mapbox-gl.css 2.leaflet-mapbox-gl.js https://github.com/mapbox/mapbox-gl-leaflet ...
- poj 1154 letters (dfs回溯)
http://poj.org/problem?id=1154 #include<iostream> using namespace std; ]={},s,r,sum=,s1=; ][]; ...
- Quikapp快应用开发入门
快应诞生背景 微信的小程序使得很多原来需要调动APP的场景不复存在,正式由于微信小程序的冲击,3月20日,华为联手九大手机厂商,共同举办了“快应用”标准启动发布会.“快应用”是几家手机厂商基于硬件平台 ...
- postman简单教程,如何在请求中引用上次请求返回的值
做接口测试,一定会遇到这种情况,需要拿上次请求的值在本次请求中使用,比如,我们去测试一个东西,要去登录才能做其他的操作,需要拿到登录返回数据中的某些字段,比如,token啊等... 如果发一次请求,就 ...
- linux小白成长之路8————访问Docker中的mysql
[内容指引] 本篇实战演示如何操作Docker中的mysql数据库,包含以下五个知识点: 登录容器: 登录mysql: 运行SQL指令创建数据库: 退出mysql: 退出容器: 1.登录容器 我们在上 ...
- linux dd使用记录
dd if=/dev/sda of=/dev/sdb bs=10M Linux下显示dd命令的进度: dd if=/dev/zero of=/tmp/zero.img bs=10M count=100 ...
- python全栈学习--day4
列表 说明:列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: 1 li = ['alex',123,Ture,(1,2,3,'wu ...
- CountDownLatch 源码解析—— await()
上一篇文章说了一下CountDownLatch的使用方法.这篇文章就从源码层面说一下await() 的原理. 我们已经知道await 能够让当前线程处于阻塞状态,直到锁存器计数为零(或者线程中断). ...