zoukankan      html  css  js  c++  java
  • 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
    解决

  • 相关阅读:
    Codeforces Round #136 (Div. 1) B. Little Elephant and Array
    洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths
    cogs 969. [NOIP2006] 数列
    防止xss(跨站脚本攻击)
    ☀【插件】iScroll
    ☀【移动优化】
    ☀【Zepto】
    ☀【JS】Code
    ☀【响应式设计】屏幕尺寸
    CODEVS——T2744 养鱼喂妹纸
  • 原文地址:https://www.cnblogs.com/fjiqiang/p/10639229.html
Copyright © 2011-2022 走看看