python虚拟环境
01 简介
开发Python应用程序的时候,系统安装的Python3只有一个版本。所有第三方的包都会被pip安装到Python3的site-packages目录下。
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?
这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
本次安装是基于Ubuntu16.04Linux版本安装过程
02 安装
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以方便实现以下功能:
- 将所有虚拟环境整合在一个目录下
- 管理(新增,删除,复制)虚拟环境
- 切换虚拟环境
sudo pip install virtualenv
sudo pip install virutalenvwrapper
03 配置
此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上需要运行virtualenvwrapper.sh文件才行。修改~/.bashrc,添加以下语句
1、创建目录用来存放虚拟环境:
sudo mkdir -p $WORKON_HOME
2、在~/.bashrc中添加行:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
3、运行:
source ~/.bashrc
04 使用
- mkvirtualenv wxhpython01:创建运行环境wxhpython01
- workon wxhpython01: 工作在 zqxt 环境 或 从其它环境切换到 wxhpython01环境
- deactivate: 退出终端环境
- rmvirtualenv ENV:删除运行环境ENV
- mkproject mic:创建mic项目和运行环境mic
- mktmpenv:创建临时运行环境
- lsvirtualenv: 列出可用的运行环境
- lssitepackages: 列出当前环境安装了的包
01 创建运行环境
查看运行环境:所有的虚拟环境,都位于~/.virtualenvs目录下,wxhpython01和wxhpython02是刚刚创建的两个虚拟环境
切换到~/.virtualenvs/wxhpython02/lib/python3.5/site-packages目录中,以后在虚拟环境wxhpython02中安装的包都在这里和其他环境独立,互不干扰
02 在虚拟环境中安装包
无需sudo权限即可使用 pip 来进行包的管理:
pip list
pip freeze
- 安装django
# 建议安装1.8.2版本,这是一个稳定性高、使用广、文档多的版本
pip install django==1.8.2
查看文件目录
查看版本:进入python shell,运行如下代码
import django
django.get_version()
说明:使用pip install django命令进行安装时,会自动删除旧版本,再安装新版本
- 创建项目
创建/home/python/project/目录(确保此目录由操作权限),执行如下命令:
命令django-admin startproject test1
进入test1目录,目录结构如下图,默认目录结构:
目录说明
- manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互
- 内层的目录:项目的真正的Python包
- init .py:一个空文件,它告诉Python这个目录应该被看做一个Python包
- settings.py:项目的配置
- urls.py:项目的URL声明
- wsgi.py:项目与WSGI兼容的Web服务器入口
问题
01安装virtualenvwrapper报错:
解决办法:
02执行 命令 source ~/.bashrc出错:
解决办法:将VIRTUALENVWRAPPER_PYTHON=/usr/bin/python设置为‘VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3’(当py2和py3共存的时候)