简介
前段时间看了 @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 '
Hello,Flask Web!
'if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True, port=5001)
运行文件即可启动服务访问。
然后就可以参考 @ycwdaaaa 发布的一列Flask之旅的文章进行后续的学习了。hiahiahiahia...........