Ubuntu下创建虚拟独立的Python环境全过程

作者:daisy 时间:2021-07-27 13:22:29 

前言

虚拟环境是程序执行时的独立执行环境,在同一台服务器中可以创建不同的虚拟环境供不同的系统使用,项目之间的运行环境保持独立性而相互不受影响。例如项目可以在基于 Python2.7 的环境中运行,而项目 B 可以在基于Python3.x 的环境中运行。在 Python 中通过 virtualenv 工具管理虚拟环境。

另外在 win 或者 mac 上也是极力推荐安装虚拟环境来管理你的 Python 环境,虚拟环境能为你带来不少好处,比如在 Mac 上,自带的 Python 环境为 2.7 。而我们 Django 开发最合适的就是 3.4+。如此一来,你就要去 Google 如何卸载或者转至 Python3.4 的环境,还是比较麻烦。一旦我们有了虚拟环境之后,我们都可以在独立的环境中去安装我们需要的模块或者包的不同的版本,这样会带来很大方便。

Install

在 Linux 系统中执行如下命令安装:


$ sudo pip install virtualenv

在 Ubuntu 中以及其衍生系统中执行如下命令安装即可:


$ sudo apt-get install python-virtualenv

Create

安装成功之后,执行如下命令创建名称为 myvenv 的虚拟环境:


$ virtualenv myvenv

提示如下:


allen@ubuntu:~$ virtualenv myvenv
Running virtualenv with interpreter /usr/bin/python2
New python executable in myvenv/bin/python2
Also creating executable in myvenv/bin/python
Installing setuptools, pip...done.

Activate


source kvenv/bin/activate

具体过程如下,可以看到我们在当前环境下查看 Python 的版本,显示是在虚拟环境 myvenv 下的:


allen@ubuntu:~$ source myvenv/bin/activate
(myvenv)allen@ubuntu:~$ which python
/home/allen/myvenv/bin/python

当然退出当前虚拟环境如下命令即可:


deactivate

Pip

在激活了虚拟环境之后,你可以在这个环境中任意的Pip 啦:


pip install Pillow

Virtualenvwrapper

其为虚拟环境扩展包,用于管理虚拟环境,如列表所有虚拟环境,删除等等。

1. 安装:


#安装virtualenv
(sudo) pip install virtualenv

#安装virtualenvwrapper
(sudo) pip install virtualenvwrapper

2. 配置:

修改~/.bash_profile或其它环境变量相关文件(如 .bashrc(我的Ubuntu15.10 下的是这个) 或用 ZSH 之后的 .zshrc),添加以下语句:


export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

然后运行:


source ~/.bash_profile

3. 用法:

  1. mkvirtualenv zqxt:创建运行环境zqxt

  2. workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境

  3. deactivate: 退出终端环境

其它的:

  1. rmvirtualenv ENV:删除运行环境ENV

  2. mkproject mic:创建mic项目和运行环境mic

  3. mktmpenv:创建临时运行环境

  4. lsvirtualenv: 列出可用的运行环境

  5. lssitepackages: 列出当前环境安装了的包

创建的环境是独立的,互不干扰,无需sudo权限即可使用 pip 来进行包的管理。

来源:http://allenwu.itscoder.com/create-python-venv-on-ubuntu

标签:ubuntu,python,虚拟环境
0
投稿

猜你喜欢

  • Python列表推导式,元组推导式,字典推导式,集合推导式

    2022-08-01 23:26:36
  • 发一段鼠标掠过表格行颜色改变的代码

    2010-07-02 12:59:00
  • 教你利用python实现企业微信发送消息

    2023-09-06 11:20:55
  • JavaScript中尽量用局部变量的原因[译]

    2009-02-20 13:45:00
  • JavaScript实现带自动提示的文本框效果代码

    2011-02-05 11:13:00
  • 深入MySQL数据库的索引

    2009-02-26 15:27:00
  • 使用Python实现图像融合及加法运算

    2021-03-03 06:19:42
  • 为什么从Python 3.6开始字典有序并效率更高

    2021-03-26 15:29:36
  • ASP的错误代码都有哪些?

    2009-10-28 18:15:00
  • 如何使用Oracle PL/SQL 实现发送电子邮件功能(UTL_MAIL)

    2024-01-17 19:32:18
  • Oracle 数据 使用游标

    2009-07-02 12:14:00
  • Python真题案例之错位键盘 单词长度 字母重排详解

    2023-03-18 02:57:26
  • Python数据类型之String字符串实例详解

    2022-01-08 11:38:50
  • 基于FlashPaper实现JSP在线阅读代码示例

    2023-06-14 21:02:31
  • Python自动化之定位方法大杀器xpath

    2023-11-22 05:08:57
  • Pytorch使用shuffle打乱数据的操作

    2021-10-03 08:33:31
  • ThinkPHP实现将本地文件打包成zip下载

    2024-05-11 09:48:29
  • Go语言中如何确保Cookie数据的安全传输

    2024-05-22 10:21:43
  • 浅析Mysql和Oracle分页的区别

    2024-01-23 16:38:49
  • 实例:用 JavaScript 来操作字符串(一些字符串函数)

    2023-06-30 10:02:21
  • asp之家 网络编程 m.aspxhome.com