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. 用法:
mkvirtualenv zqxt:创建运行环境zqxt
workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境
deactivate: 退出终端环境
其它的:
rmvirtualenv ENV:删除运行环境ENV
mkproject mic:创建mic项目和运行环境mic
mktmpenv:创建临时运行环境
lsvirtualenv: 列出可用的运行环境
lssitepackages: 列出当前环境安装了的包
创建的环境是独立的,互不干扰,无需sudo权限即可使用 pip 来进行包的管理。
来源:http://allenwu.itscoder.com/create-python-venv-on-ubuntu


猜你喜欢
- 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且
- 本文实例讲述了Python设计模式之享元模式原理与用法。分享给大家供大家参考,具体如下:享元模式(Flyweight Pattern):运用
- pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相对于matplotlib库,由于其在内部实现方式上,使用了高速计算的
- 一、http请求的顺序处理方式在高并发场景下,为了降低系统压力,都会使用一种让请求排队处理的机制。本文就介绍在Go中是如何实现的。首先,我们
- 什么是变量在Python编程语言中,变量是用于存储数据值的标识符。它们可以用来引用数据值,而不是直接使用值本身。可以使用等号(=)运算符来将
- 实例1、取得MYSQL版本# -*- coding: UTF-8 -*-#安装MYSQL DB for pythonimport MySQL
- 表单在提交前我们通常会用客户端JS对其内容进行验证,通常都是写一个函数然后在onsumbit事件中调用,如下:<html><
- 一、软件准备:以下均为截止2005-4-20的最新正式版本PHP(5.1.2):http://www.php.netMySQL(5.0.19
- 想要实现自定义标签和过滤器需要进行准备工作:准备(必需)工作:1 在某个app下创建一个名为templatetags(必需,且包
- 第一种方法: 代码如下:/* 创建链接服务器 */ exec sp_addlinkedserver 'srv_lnk
- 0x 00 返回值简介回顾下,上一节简单介绍了函数及其各种参数,其中也有简单介绍 print 和 return 的区别,print 仅仅是打
- 开发高质量软件的过程中,我们经常会为每个函数编写测试,这样在开发过程中运行这些测试的时候就比较方便,doctest是一个python标准库自
- 准备工具pip3 install PILpip3 install opencv-pythonpip3 install numpy谷歌驱动建议
- Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScr
- Python编程语言允许在一个循环内嵌套另一个循环。下面将介绍几个例子来说明这一概念。语法在Python中嵌套循环语句的语法如下
- 1. 取键:keys()方法#spyderbb={'人才/可怕':23,'伏地魔&波特':'
- 一、identity的基本用法1.含义identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修
- 目录先看演示像类一样的访问属性类似字典的访问为什么可以这样?源码解析为什么有类的影子?为什么有字典的影子?先看演示像类一样的访问属性from
- numpy.ndarray中数据转为int型首先了解内容与类型>>>print(a)(array([[0.01124722
- 一、Python图像处理PIL库1.1 转换图像格式# PIL(Python Imaging Library)from PIL import