最近用flask改写了一个小小的子系统,本地测试后,想部署到远程服务器上。但由于服务器无法连接外网,又没有安装flask,所以只好和方便快捷的 pip install flask说再见了。现将flask离线安装的步骤记录如下,以作备忘。

1. 下载flask安装包

PyPI · The Python Package Index上(以下全部安装包均可在该网址查找并下载),查找flask安装包,选择下载flask-1.1.1,查看Flask-1.1.1.tar.gz中的setup.py:

Flask-1.1.1.tar.gz中setup.py的第51-57行

可以发现:flask-1.1.1需要的python环境为python2.7及以上,或者python3.5及以上;安装时需要的依赖安装包有Werkzeug、Jinjia2、itsdangerous、click四项,并对各依赖安装包的版本有要求。

2. 满足flask安装需要

由于服务器的python环境为python2.7与python3.4,代码是用python3写的,我决定离线安装python3.6,于是下载了Python-3.6.1.tgz。另外依次下载了Werkzeug-1.0.0.tar.gz、Jinja2-2.11.1.tar.gz、itsdangerous-1.1.0.tar.gz、Click-7.0.tar.gz。

分别查看其中的setup.py发现:Jinja2-2.11.1需要两项依赖安装包MarkupSafe >= 0.23、Babel >= 0.8,于是又下载了MarkupSafe-1.1.1.tar.gz、Babel-2.8.0.tar.gz。其中Babel-2.8.0又依赖于pytz >= 2015.7,下载pytz-2019.3.tar.gz。

最终下载的全部安装包如下图,可在本文所附资源处或点击此处链接下载。

全部安装包

安装包之间的依赖关系如下:

安装包之间的依赖关系

3. 按照依赖关系依次安装

(1)python

#tar -xvzf Python-3.6.1.tgz

#cd Python-3.6.1/

#./configure

#sudo make altinstall

(2)Werkzeug

#tar -xzvf Werkzeug-1.0.0.tar.gz

#cd Werkzeug-1.0.0/

#sudo python3.6 setup.py install

(3)MarkupSafe

#tar -xzvf MarkupSafe-1.1.1.tar.gz

#cd MarkupSafe-1.1.1/

#sudo python3.6 setup.py install

(4)pytz

#tar -xzvf pytz-2019.3.tar.gz

#cd pytz-2019.3/

#sudo python3.6 setup.py install

(5)Babel

#tar -xzvf Babel-2.8.0.tar.gz

#cd Babel-2.8.0/

#sudo python3.6 setup.py install

(6)Jinja2

#tar -xzvf Jinja2-2.11.1.tar.gz

#cd Jinja2-2.11.1/

#sudo python3.6 setup.py install

(7)itsdangerous

#tar -xzvf itsdangerous-1.1.0.tar.gz

#cd itsdangerous-1.1.0/

#sudo python3.6 setup.py install

(8)Click

#tar -xzvf Click-7.0.tar.gz

#cd Click-7.0/

#sudo python3.6 setup.py install

(9)Flask

#tar -xzvf Flask-1.1.1.tar.gz

#cd Flask-1.1.1/

#sudo python3.6 setup.py install

至此安装结束。 

Logo

更多推荐