ubuntu系统下Python虚拟环境的安装和使用

前言:进行python项目开发的时候,因为不一样的项目须要使用不一样的资源包和相关的配置,所以建立多个python虚拟环境,在虚拟环境下开发就显得颇有必要。python

安装虚拟环境

打开Linux终端(快捷键Ctrl+Alt+T),输入命令bash

sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper

说明:以上两条命令逐条执行,完成后虚拟环境安装完毕。app

或者可使用pip安装,前提是安装了pip,通常python自带了pip:命令行

sudo pip install virtualenv
sudo pip install virtualenvwrapper
  • 说明:安装的结果如出一辙,使用任意一种便可。
  • virtualenv是虚拟环境,virtualenvwrapper对virtualenv的命令进行了封装,使得其更加友好

注意:安装的顺序不能颠倒,virtualenvwrapper必须依赖于virtualenv。blog

建立虚拟环境

  • 在终端输入以下命令:
    mkvirtualenv 虚拟环境名称
    如:
    mkvirtualenv mywork
    
    //会建立一个名为mywork的虚拟环境
  • 建立的虚拟环境都保存在/home/.virtualenvs目录下,能够进入这个目录查看;
  • 建立成功后会自动进入该虚拟环境,命令行提示改变;ip

  • 指定python版本建立虚拟环境资源

上面的命令执行时,系统会建立默认的python版本的开发环境,通常你们的电脑会同时安装python2和python3版本,有时须要不一样的版本建立虚拟环境。开发

mkvirtualenv -p python路径 虚拟环境名称
例:
mkvirtualenv -p /usr/bin/python3 mywork
  • -p指的是path的简写
  • Py安装的路径,默认安装在/usr/bin/目录下;若是一时间找不到,使用命令:
whereis python3

细节:不须要进入到/home/.virtualenvs目录,在任何目录下均可以执行命令,建立的虚拟环境的位置都同样。pip

注意:建立虚拟环境是须要在联网下进行,不然建立失败。class

注意:使用mkvirtualenv建立虚拟环境,可能提示找不到命令,通常是脚本文件没有加入系统路径,解决以下:

  • 方法一:
    # 找到virtualenvwrapper的脚本文件
    whereis virtualenvwrapper
    # 进入该目录
    cd /usr/local/python3/bin
    # 执行脚本文件激活virtualenvwrapper
    source virtualenvwrapper.sh
    # 能够正常使用命令了
    
  • 方法二:
    # 方法一每次重启后都须要手动激活,不方便,将命令添加到环境变量
    sudo vi ~/.bashrc
    # 在末尾添加一行
    source /usr/local/python3/bin/virtualenvwrapper.sh
    # 保存后执行
    source ~/.bashrc
    # 如今能够正常使用命令了,且每次重启主机自动加载命令
    

    虚拟环境的查看和使用

  • 删除虚拟环境
    rmvirtualenv [虚拟环境名称]
    例:
    rmvirtualenv mywork
    

    注意:若是目前的位置在虚拟环境中,须要先退出虚拟环境,而后才能执行删除

    注意:能够在任何目录执行删除操做,若是不知道名字,能够rmvirtualen + 两次Tab键,提示全部的虚拟环境

  • 退出虚拟环境
    deactivate
    
  • 进入虚拟环境
    workon [虚拟环境名称]
    例:
    workkon mywork
    

    注意:按workon+两次Tab键会提示全部虚拟环境。

  • 查看虚拟环境中安装的python包
    pip list
    pip freeze
    

    两个命令均可以查询,只是展现的形式不同

在虚拟环境下安装python包

  • 进入虚拟环境,在终端输入:
    pip install 包的名字

注意:必定不要使用sudo pip ... ,这里是在虚拟环境中安装python包,若是使用了sudo权限,python包会被安装在主机非虚拟环境下,在虚拟环境中找不到这个包。

相关文章
相关标签/搜索