简介

前段时间看了 @ycwdaaaa 一系列的 Flask 之旅,印象深刻,刚好最近也在折腾这一块,故先从最基本的环境搭建开始,由于前期在其中踏了一些坑,故诞生了下面的教程,希望对准备学习 Flask 的朋友有所帮助。

一、Centos 中 python 版本升级

(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

二、解决 python 版本升级后 yum 不能使用的问题

(9) 此时,另外一个问题出现了,就是升级完 python 版本后 yum 不能试用了

那么,我们需要通过

vim /usr/bin/yum

编辑"#! usr/bin/python"为"#! usr/bin/python2.6"
注意:2.6 是原先 centos 系统中自带的 python 版本号,每台机器 python 版本号可能不一样,自己视情况而定,至此,yum 又可以正常使用了。

三、python2.7 安装 virtualenv 虚拟环境

(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 虚拟环境。

四、在虚拟环境中进行 Flask_Web 开发

(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...........


↙↙↙阅读原文可查看相关链接,并与作者交流