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

yipeiwu_com7年前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

 

相关文章

利用Anaconda简单安装scrapy框架的方法

利用Anaconda简单安装scrapy框架的方法

引言:使用pip install 来安装scrapy需要安装大量的依赖库,这里我使用了Anaconda来安装scrapy,安装时只需要一条语句:conda install scrapy即...

Anaconda下安装mysql-python的包实例

Anaconda下安装mysql-python的包实例

Anaconda下需要使用Python与MySQL数据库进行交互,所以需要import一个mysql-python的包, 但是在ipython中引用的时候发现Anaconda并没有包含该...

Python运行不显示DOS窗口的解决方法

方法1:pythonw xxx.py 方法2:将.py改成.pyw (这个其实就是使用脚本解析程序pythonw.exe) 跟 python.exe 比较起来,pythonw.exe 有...

利用PyInstaller将python程序.py转为.exe的方法详解

前言 最近经常用到一个.py程序,但是每次在不同电脑上用,希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个exe。PyInstalle满足要求。 PyIns...

python中hasattr()、getattr()、setattr()函数的使用

python中hasattr()、getattr()、setattr()函数的使用

 引言:   在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setat...