python离线安装flask及其扩展包

目前,关于flask的安装方法大多都是在线安装,如:http://dormousehole.readthedocs.org/en/latest/ 介绍那样,使用pip或easyinstall,这很方便。然而,当我们在某个特殊的情况下必须离线安装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. 把这些压缩包放到一个文件夹里,这样看起来整齐些,然后把它们分别解压到自己的文件夹里,进入它们的文件夹,然后安装它们,再回到上一层,解压下一个,安装下一个。如果是Linux环境的话,需要反复的使用这几个命令(XXXX是文件名):

tar -xvf XXXX.tar.gz

cd XXXX

python setup.py install

cd ..

注意安装的顺序根据依赖的顺序。

 

4. 找到全部依赖的包:其实不用搜索也能找到全部依赖的包,解压一个压缩包,用文本工具打开setup.py文件看看,比如flask包里的setup.py文件就写着:

python离线安装flask及其扩展包

而Jinja2里的setup.py文件写着:

python离线安装flask及其扩展包

同样Babel的setup.py文件写着:

python离线安装flask及其扩展包

恩,就是酱紫。

 

5. 例如,我想要安装flask-sqlalchemy-2.0.tar这个扩展,然后我解压并看到它需要:

install_requires=[
        'Flask>=0.10',
        'SQLAlchemy'
    ],
于是我到Python的pypi上找到SQLAlchemy这个包,选择搜索后会看到很多各种各样的,如果没有特殊要求就选一个不要太低的版本,运气好的一般不会有问题(⊙v⊙)嗯:

python离线安装flask及其扩展包

然后先安装它,再安装flask-sqlalchemy-2.0.tar就可以成功啦。

 

另外,为了方便测试,我在一台可以连接外网的主机上安装了一个host-only的虚拟机,因为这样就可以保证主机和虚拟机通信且虚拟机不能访问外网。测试成功之后,我再把这些包转移到内网主机上,再用ftp抛到远程服务器上安装它们……

 

后记:因为这两天一直在寻找离线安装Python包的方法,但是似乎没有看到太多资料(莫非是太easy?),所以就把这个过程详细的记录下来。最后想的是:为什么他们服务器都布好了才想到在上面加一个小网站呢……

希望转载请注明出处~


原文地址:https://blog.csdn.net/lisansui/article/details/78909229

猜你喜欢

转载自blog.csdn.net/heimao0307/article/details/80265322
今日推荐