Flask是用python进行web开发时,常见的python web框架。
如果服务器可以连接到外网,可以简单的用 pip install Flask 直接将Flask的依赖包及Flask直接安装好。
但公司的测试环境,一般是内网,不能随表上连到外网,这就需要采用离线软件包方式安装了。
下面是我的测试安装过程。
1. 确定依赖的包(参考:http://stackoverflow.com/questions/18951829/how-to-install-flask-offline):
You need to download all of flask's dependencies:'
Werkzeug>=0.7
Jinja2>=2.4, which requires:
MarkupSafe
Babel>=0.8, which requires:
pytz
itsdangerous>=0.21
Install them in that order before you install Flask.
恩,就是Werkzeug, Jinja2,MarkupSafe,Babel,pytz,itsdangerous,这几个。flask的文档里面只提到了它依赖于Werkzeug和Jinja2,但是在离线状态下安装Jinja2会报错,所以,是需要全部的。
2. 在专门下载包的地方把包下载下来:https://pypi.python.org/pypi,当然,使用右上角的搜索框。
你可能会看到很多,可以选择XXXXX.tar.gz版本的,有些包不一定全面,还需要搜索引擎,它们可能在github上。
3. 对于依赖包也可以下在一个安装包后,在解压目录的setup.py中查看 install_requires内容
Flask-0.12.1 离线安装需要的软件包为:
install_requires=[
'Werkzeug>=0.7',
'Jinja2>=2.4',
'itsdangerous>=0.21',
'click>=2.0',
],
这四个依赖包都需要安装后,才能正常安装Flask;这四个依赖包也有其他依赖:
Jinja2-2.9.6 安装需要的依赖包有:
install_requires=['MarkupSafe>=0.23'],
Werkzeug-0.12.1 安装没有必须的依赖包;
itsdangerous-0.24 安装没有必须的依赖包;
click-6.7 安装没有必须的依赖包;
MarkupSafe-1.0 安装没有必须的依赖包;
4. 下载和解压如下内容后,按照软件依赖顺序依次安装
[root@tk-dat-asa202 Flask]# ll
total 2472
drwxr-xr-x 10 1000 1000 4096 May 15 16:25 click-6.7
-rw-r--r-- 1 root root 279019 May 15 16:21 click-6.7.tar.gz
drwxr-xr-x 10 1000 users 4096 May 15 16:30 Flask-0.12.1
-rw-r--r-- 1 root root 548511 May 15 16:15 Flask-0.12.1.tar.gz
drwxr-xr-x 6 503 20 4096 May 15 16:26 itsdangerous-0.24
-rw-r--r-- 1 root root 46541 May 15 16:21 itsdangerous-0.24.tar.gz
drwxr-xr-x 10 501 20 4096 May 15 16:28 Jinja2-2.9.6
-rw-r--r-- 1 root root 437659 May 15 16:19 Jinja2-2.9.6.tar.gz
drwxr-xr-x 6 501 20 4096 May 15 16:29 MarkupSafe-1.0
-rw-r--r-- 1 root root 14356 May 15 16:28 MarkupSafe-1.0.tar.gz
drwxr-xr-x 10 1000 users 4096 May 15 16:27 Werkzeug-0.12.1
-rw-r--r-- 1 root root 1169595 May 15 16:19 Werkzeug-0.12.1.tar.gz
依次解压缩所有的文件包,然后执行安装命令:
tar -zxvf *.tar.gz
cd
python setup.py install
pip list
所有软件包都安装完毕后,确认Flask状态:
# pip list | grep Flask
Flask (0.12.1)
5. 在 Flask 安装完毕后,测试应用程序编写和访问:
从一个最小的应用程序开始:
vim hello.py
脚本内容如下:
#/usr/bin/env python
#_*_ coding:utf-8 _*_
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=9000)
启动脚本:
python hello.py
打开浏览器,访问 “http://127.0.0.1:9000/”,就可以看到熟悉的“hello world!”了。
注:上面的所有软件包,我已经上传,可以直接下载使用。