前段时间看了 @ycwdaaaa 一系列的 Flask 之旅,印象深刻,刚好最近也在折腾这一块,故先从最基本的环境搭建开始,由于前期在其中踏了一些坑,故诞生了下面的教程,希望对准备学习 Flask 的朋友有所帮助。
(1) 查看系统中 python 版本号
python -V
(2) 先在/usr/local 建一个文件夹 python27(作为 Python 的安装路径,以免覆盖老的版本)
mkdir /usr/local/python27
(3) 进入/usr/local 目录,下载 python 指定版本源码包
wget http://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
(4) 解压下载的源码压缩包
tar zxvf Python-2.7.12.tgz
(5) 在解压缩后的目录下编译安装,以下命令依次执行
cd /usr/local/Python-2.7.12
./configure --prefix=/usr/local/python27
make
make install
提示:
如出现以下错误说明 linux 中缺少 gcc 编译器,需执行如下命令进行 gcc 编译器的安装
yum install gcc
(6) 此时没有覆盖老版本,再将原来/usr/bin/Python 链接改为别的名字
mv /usr/bin/python /usr/bin/python_old
(7) 再建立新版本 python 的链接
ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
(8) 版本升级验证
python -V
(9) 此时,另外一个问题出现了,就是升级完 python 版本后 yum 不能试用了
那么,我们需要通过
vim /usr/bin/yum
编辑"#! usr/bin/python"为"#! usr/bin/python2.6"
注意:2.6 是原先 centos 系统中自带的 python 版本号,每台机器 python 版本号可能不一样,自己视情况而定,至此,yum 又可以正常使用了。
(1) 使用 pip 安装 virtualenv
pip install virtualenv
那么问题来了,我们需要先解决 pip 无法使用的问题,google 用起来吧,解决方法如下:
<1>先安装 setuptools(路径我的设置安装在/usr/local/src)
cd /usr/local/src
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar zxvf setuptools-1.4.2.tar.gz
cd /usr/local/src/setuptools-1.4.2
python setup.py install
此时,问题又来了,说我们缺少 zlib 模块
好吧,遇到问题不要怕,一步一步的来解决,但是最根本原因在于安装 python2.7.12 之前未进行依赖检查,最好通过命令 sudo apt-get build-dep python【ubuntu 命令】进行检查。所以要解决 zlib module 缺少的问题,必须在安装 python2.7.12 之前先安装 zlib 软件包,安装完成后再重新编译安装 python2.7.12
yum install zlib
yum install zlib-devel
cd /usr/local/Python-2.7.12
./configure --prefix=/usr/local/python27
make
make install
cd /usr/local/src/setuptools-1.4.2
python setup.py install
<2>再安装 pip(路径我的设置安装在/usr/local/src)
cd /usr/local/src
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-6.0.7.tar.gz
tar zxvf pip-6.0.7.tar.gz
cd /usr/local/src/pip-6.0.7
python setup.py install
<3>至此 setuptools 和 pip 都安装完成了,作为一名强迫症患者,迫不及待的想把 pip 的版本升级到最新,于是执行了如下命令
pip install -U pip
然而,看到下面的报错的时候又傻眼了:
那我们就根据"No module named 'pip._vendor.requests'"来查吧,google 了一大圈发现原来是因为在编译时没有找到 ssl 相关的模块导致,那我们就来安装一下然后再重新编译安装一下 python。
yum install openssl-devel
cd /usr/local/Python-2.7.12
./configure --prefix=/usr/local/python27
make
make install
pip install -U pip
pip 终于可以用了!
<4>至此,终于解决了 pip 的问题,那么接下来就开始安装 virtualenv 虚拟环境,执行
pip install virtualenv
virtualenv 安装完成:
(2) 创建 virtualenv 虚拟环境
我们在/home/cxw/目录下创建一个 microblog 的目录为我们的练习目录,然后进入到该目录下创建虚拟环境
cd /home/cxw/microblog
virtualenv venv
# 说明:venv是新创建的虚拟环境的名称。 同时会创建一个与虚拟环境名称相同的文件夹venv, 里面存储了一个独立的Python执行环境。
(3) 启动 virtualenv 虚拟环境
进入虚拟环境的安装目录,执行虚拟环境启动命令
cd /home/cxw/microblog
source /venv/bin/activate
(4).退出虚拟环境
deactivate
(5).删除虚拟环境
rm -r venv 直接删除虚拟环境所在的文件夹 venv 就删除了我们创建的 venv 虚拟环境。
(1) 在虚拟环境中安装 flask 模块
# 进入虚拟环境
cd /home/cxw/microblog
# 启用虚拟环境
source venv/bin/activate
# 安装Flask模块
pip install Flask
(2) 示例 demo
# coding = utf-8
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello,Flask Web!</h1>'
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True, port=5001)
运行文件即可启动服务访问。
然后就可以参考 @ycwdaaaa 发布的一列 Flask 之旅的文章进行后续的学习了。hiahiahiahia...........