Windows上使用virtualenv搭建Python+Flask开发环境

yipeiwu_com6年前Python基础

关于virtualenv:

VirtualEnv用于在一台机器上创建多个独立的Python虚拟运行环境,多个Python环境相互独立,互不影响,它能够:

1.在没有权限的情况下安装新套件
2.不同应用可以使用不同的套件版本
3.套件升级不影响其他应用
虚拟环境是在Python解释器上的一个私有复制,你可以在一个隔绝的环境下安装packages,不会影响到你系统中全局的Python解释器。

虚拟环境非常有用,因为它可以防止系统出现包管理混乱和版本冲突的问题。为每个应用程序创建一个虚拟环境可以确保应用程序只能访问它们自己使用的包,从而全局解释器只作为一个源且依然整洁干净去更多的虚拟环境。另一个好处是,虚拟环境不需要管理员权限。

安装Python 2.7
访问https://www.python.org/,进入下载页面,下载Python 2.7系列的WINDOWS版本。

安装之后需要把Python相关的路径加入到PATH环境变量中(假如安装在D:\Python27):

D:\Python27
D:\Python27\Scripts

安装setuptools(easy_install)

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

安装virtualenv
使用easy_install命令安装virtualenv:

easy_install virtualenv

创建虚拟环境
纯净的虚拟环境:

virtualenv.exe venv

适用于所有软件包都使用PY软件包的场景。

混合虚拟环境:

virtualenv --system-site-packages venv

适用于有部分特殊软件包的场景,因为特定软件包在缺乏编译环境的情况下不能通过pip直接安装。

激活虚拟环境:

venv\Scripts\activate.bat

退出虚拟环境:

venv\Scripts\deactivate.bat

安装软件包
激活虚拟环境之后,使用pip命令安装软件包:

pip install package

package替换为软件包的名称。

软件包分为纯Python软件包和特殊软件包。

纯Python软件包是指完全使用Python编写的软件包,不需要编译环境,只需要执行pip install命令就可以完成安装。

特殊软件包是指大部分使用PY编写、某些特定部分使用C语言编写的、需要进行编译才能使用的软件包,不能通过pip install直接安装,需要编译环境支持。比如Mysql-Python(MySQLDb)、pycrypto等。特殊软件包一般会有WINDOWS的编译版本。

安装Flask

virtualenv.exe venv
venv\Scripts\activate.bat
pip install flask

 

相关文章

解决python使用open打开文件中文乱码的问题

解决python使用open打开文件中文乱码的问题

代码如下: 先在D盘下新建一个html文档,然后在里面输入含有中文的Html字符如下图,然后我们首先使用中文格式对读取的字符进行解码再用utf-8的模式对字符进行进行编码,然后就能正确输...

Python2.x利用commands模块执行Linux shell命令

用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands...

python使用 HTMLTestRunner.py生成测试报告

python使用 HTMLTestRunner.py生成测试报告

本文介绍了python使用 HTMLTestRunner.py生成测试报告 ,分享给大家,具体如下: HTMLTestRunner.py python 2版本 下载地址:http://t...

Python中django学习心得

Python中django学习心得

以下是作者在学习Python中django框架时的学习笔记,并把测试的代码做了详细分析,最后还附上了学习心得,值得大家学习。 URL配置(URLconf)就像Django 所支撑网站的目...

Python中的测试模块unittest和doctest的使用教程

我要坦白一点。尽管我是一个应用相当广泛的公共域 Python 库的创造者,但在我的模块中引入的单元测试是非常不系统的。实际上,那些测试大部分 是包括在 gnosis.xml.pickle...