2017-06-16 125 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