2017-06-16 62 views
0

我安装一个PIP包在CentOS离线称为SSLyze这样如何从pip包创建独立安装程序?

pip download SSLyze # this downloads all the other pip dependencies as well in the same dir 
pip install --no-index --find-links ./ SSLyze 

这种方法的问题是我需要安装gcc和一堆其他包本的工作。 gcc需要编译SSLyze源代码也需要安装时间。

我想创建一个像SSLyze.run这样的二进制安装程序,它可以将一切安装在离线状态。有没有任何python工具可以这样做?

我以前试过从SSLyze pip包创建RPM,它最终成为一个依赖性噩梦;我最终不得不从pip中重新包装大量的python包,因为CentOS官方仓库中的仓库太旧而无法运行SSLyze。

回答

0

这是我做过什么:

上生成主机:安装所需的软件包构建

yum install epel-release 
yum install gcc python2-pip python2-devel openssl-devel 
pip install wheel cryptography 
pip install --upgrade setuptools 

在构建主机:建立SSLyze车轮文件和所有依赖

pip wheel --wheel-dir=./sslyze_setup SSLyze==1.1.1 

这将创建所有的*.whlsslyze_setup/文件以供离线安装

在目标主机:复制里面sslyze_setup/从构建主机的所有文件复制到目标主机

yum install epel-release 
yum install python2-pip 
pip install --no-index --find-links=./sslyze_setup SSLyze 

(此后,转或deb文件可以从文件创建在sslyze_setup/

2

PyInstallercx_Freeze生成二进制安装程序。

pip wheel -r requirements.txt为所有要求打造独立的车轮。车轮可以移动到离线主机并安装。

+0

感谢关于车轮文件的想法。 – GMaster