为什么要搭建虚拟环境?

  在开发过程中, 当需要使用python的某些工具包/框架时需要联网安装

    比如联网安装Flask框架flask-0.10.1版本

sudo pip install flask==0.10.1

提示:使用如上命令, 会将flask-0.10.1安装到/usr/local/lib/python2.7/dist-packages路径下

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

解决方案 : 虚拟环境

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

     所有的虚拟环境都位于/home/下的隐藏目录.virtualenvs

如何搭建虚拟环境?

 安装虚拟环境的命令 :

  sudo pip install virtualenv
  sudo pip install virtualenvwrapper

安装完虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量:
   1、创建目录用来存放虚拟环境
    mkdir
    $HOME/.virtualenvs   2、打开~/.bashrc文件,并添加如下:
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh   3、运行
    source ~/.bashrc
    
创建虚拟环境的命令 :

      提示:如果不指定python版本,默认安装的是python2的虚拟环境

      在python2中,创建虚拟环境

        mkvirtualenv 虚拟环境名称

      例 :

        mkvirtualenv py_flask

      在python3中,创建虚拟环境

        mkvirtualenv -p python3 虚拟环境名称

      例 :

        mkvirtualenv -p python3 py3_flask

    •   

如何使用虚拟环境?

  查看虚拟环境的命令

    workon 两次tab键

  

  使用虚拟环境的命令 :

    workon 虚拟环境名称

    例 :使用python2的虚拟环境

    workon py_flask

    例 :使用python3的虚拟环境

    workon py3_flask

  

  退出虚拟环境的命令 :

    deactivate

  删除虚拟环境的命令 :

    rmvirtualenv 虚拟环境名称

    例 :删除虚拟环境py3_flask

    先退出:deactivate

    再删除:rmvirtualenv py3_flask

  

如何在虚拟环境中安装工具包?

提示 : 工具包安装的位置 :

  python2版本下:

    ~/.virtualenvs/py_flask/lib/python2.7/site-packages/

  python3版本下:

    ~/.virtualenvs/py3_flask/lib/python3.5/site-packages

python3版本下安装flask-0.10.1的包 :

  pip install 包名称

  例 : 安装flask-0.10.1的包

  pip install flask==0.10.1

查看虚拟环境中安装的包 :

pip freeze


ubtuntu下虚拟环境搭建【python】的更多相关文章

  1. mac下如何搭建python开发环境

    1. 安装brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/insta ...

  2. window下虚拟环境搭建

    1.找到你的host文件

  3. windows下vscode 搭建python开发环境

    1.vscode https://code.visualstudio.com/ 下载 2.python下载 https://www.python.org/downloads/windows/  exe ...

  4. 转 Ubuntu 下 vim 搭建python 环境 配置

    1. 安装完整的vim# apt-get install vim-gnome 2. 安装ctags,ctags用于支持taglist,必需!# apt-get install ctags 3. 安装t ...

  5. Windows下怎么搭建Python+Selenium的自动化环境

    http://jingyan.baidu.com/article/47a29f244aec6bc014239985.html 注意点:配置了环境变量后需要重启电脑

  6. Windows下搭建Python虚拟环境

    一.安装使用 virtualenv 1. 安装 virtualenv pip install virtualenv 2. 新建虚拟环境 virtualenv env1 用 Python3 创建虚拟环境 ...

  7. windows环境下搭建python虚拟环境及离线移植

    以python3.6为例 ①安装virtualenv: #pip安装之后在D:\Python36\Scripts目录下可以看到多了一个virtualenv.exe可执行文件pip install vi ...

  8. linux下搭建python机器学习环境

    前言 在 linux 下搭建 python 机器学习环境还是比较容易的,考虑到包依赖的问题,最好建立一个虚拟环境作为机器学习工作环境,在建立的虚拟环境中,再安装各种需要的包,主要有以下6个(这是看这个 ...

  9. centos下搭建python双版本环境

    目录 centos下搭建python双版本环境 一.安装python3 1.理清自带python位置 2.更新用于下载编译python3的相关包 3.安装pip 4.用pip安装wget 5.用wge ...

随机推荐

  1. Hdu-3333 Turning Tree (离线树状数组/线段树)

    Hdu-3333 Turning Tree 题目大意:先给出n个数字.面对q个询问区间,输出这个区间不同数的和. 题解:这道题有多重解法.我另一篇博客写了分块的解法  HDU-3333 Turing ...

  2. 深度探索C++对象模型第四章:函数语义学

    C++有三种类型的成员函数:static/nonstatic/virtual 一.成员的各种调用方式 C with class 只支持非静态成员函数(Nonstatic member function ...

  3. logback-paycore.xml 日志配置

    <?xml version="1.0" encoding="UTF-8"?><configuration> <property n ...

  4. Python执行和拷贝

    import paramiko from scp import SCPClient class LinuxSSHSCP(object): def __init__(self, ip, username ...

  5. 基于c语言数据结构+严蔚敏——线性表章节源码,利用Codeblocks编译通过

    白天没屌事,那我们就来玩玩线性表的实现吧,快要失业了,没饭吃了咋整哦 题目描述假设利用两个线性表LA和LB分别表示两个集合A和B(即:线性表中的数据元素即为集合中的成员),现要求一个新的集合A=A∪B ...

  6. STM32串口USART通信总结

    一.GPIO设置USART的初始化 /**************************实现函数******************************************** *函数原型: ...

  7. linux c开发项目过程总结

    软件工程有瀑布模型,迭代模型等. 使用linux c语言来开发项目,当然也是遵循这样的思想,先要问题定义-->需求分析--->原型设计---->编码及单元测试--->集成测试及 ...

  8. java并发编程笔记(二)——并发工具

    java并发编程笔记(二)--并发工具 工具: Postman:http请求模拟工具 Apache Bench(AB):Apache附带的工具,测试网站性能 JMeter:Apache组织开发的压力测 ...

  9. Excel表格文本格式的数字和数字格式如何批量转换

    Excel表格文本格式的数字和数字格式如何批量转换 在使用Excel表格对数据求和时,只能对单元格内常规格式的数据进行计算,而不能对单元格中的文本格式的数据进行计算,特点就是在单元格的左上角有一个绿色 ...

  10. C++——右值引用

    1.绑定到一个将要销毁的右值的引用——移动 2.左值表达式——对象的身份:右值表达式——对象的值 ; int& r=i; int&& rr=i;//×,左值不能绑定到右值引用 ...