在 Windows 中搭建 Python Web 开发环境
Python
hustlzp
Web Developer
3人收藏 2425次学习

在 Windows 中搭建 Python Web 开发环境

最近的一个外包项目,客户要求IE8+兼容。之前做自己的个人项目都是在Ubuntu下开发,然后在Chrome上跑一下就OK,完全没有管IE兼容性。这次不行了,得啃下这个骨头。

测IE兼容有一款工具必不可少,那就是IETester,从IE5.5到IE9都可以测。但是Ubuntu下无法安装(或许可以通过Wine安装?没有试过),于是就打算暂时将开发环境切换到Window7。在Windows7中搭建Flask开发环境的过程,我之前已经记录在了Evernote中,现在整理一下发到博客上。

安装Git

需要Git来做代码版本控制,以及将代码部署到服务器。我常用的是msysGit

安装Python、pip、virtualenv

首先去官网下载Python 2.7 for Windows并安装。

然后安装setuptools包管理器:在这里下载安装脚本,通过Python执行,安装完成后将C:\Python27\Scripts添加到系统环境变量中,以保证easy_install全局可用。最后通过下面的语句依次安装pip和virtualenv:

easy_install pip
pip install virtualenv

 

配置项目文件夹

从github上clone项目文件夹到本地,然后创建virtualenv环境,并激活:

git clone myproject
cd myproject
virtualenv venv
venv\Script\activate

 

安装依赖包

在Windows中使用pip安装依赖包和Ubuntu没什么大区别,pip install -r requirements.txt就行。但当遇到需要编译的package时(比如MySQL-python),就有点麻烦了。当然你可以安装VS或者搭建MinGW环境,但是有一种更简单的做法就是去网上找别人编译好的Windows安装包,比如这里就有很丰富的资源。

还有一个问题,你在安装时会发现它会自动检测系统的Python安装路径,然后全局安装,那如何安装到特定项目的virtualenv中?也很简单,将Python27\Lib\site-packages下所有与此package相关的文件全部拷贝到venv下即可。

如果pip非常卡,考虑配置pip的默认下载源。这个需要修改配置文件,在%HOMEPATH%\pip下创建pip.ini文件,填入如下内容:

[global]
index-url = http://pypi.douban.com/simple

查看国内可用的pip源,可以去这里

安装Fabric

我使用Fabric在服务器上执行命令,它依赖PyCrypto,而后者需要编译。安装方法同上,在这里下载PyCrypto安装包,安完了拷贝即可。最后再全局执行pip install fabric就行。

使用PuTTY

Windows下的ssh客户端软件啦!在这里下载。

使用PyCharm

强烈推荐Pythoner使用PyCharm这款IDE,JetBrains出品,必属精品,开发效率至少提升50%。CE版免费,当然,有钱就上正版吧。安完了在PyCharm中打开项目文件夹,配置Project Interpreter为venv中的Python解释器。

添加LESS支持

可以利用PyCharm的File Watcher来监控less文件,一发现有修改就调用系统的lessc命令编译为css,很方便。对于Linux/Mac OS来说可以通过npm安装lessc,在Windows中可以安装less.js-windows

也可以使用GUI类的LESS编译软件,推荐SimpLESS。还有一款国产利器koala,node-webkit打造,界面清爽,简单实用。

安装XAMPP

数据库用的是MySQL,一般用phpMyAdmin来管理。在Windows下直接安装XAMPP最方便了,Apache2还可以作为本地的图片服务器。

浏览器兼容性测试

安装IETester、360浏览器、360急速浏览器、搜狗浏览器、Firefox、Chrome,用于测试主流浏览器的兼容性。唯一测不了的好像就是Safari了,Apple曾经发布了一个Windows下的Safari,但久不更新。感觉这个和Mac OS下的Safari渲染得不完全一样,我在Window版Safari中测试通过,但客户还是反映有一些布局问题。这个嘛,最佳方法当然是找一台苹果电脑啦!

加入1KE学习俱乐部

1KE学习俱乐部是只针对1KE学员开放的私人俱乐部
标签:
Python Web 开发