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!”了。
注:上面的所有软件包,我已经上传,可以直接下载使用。