標籤:http os 使用 ar for strong sp div c
不到5MB的Python運行環境for CentOS 5/6
用Python進行服務端編程的同學可能遇到過,伺服器的Python版本不統一,不符合自己的需求 給每個伺服器都安裝一個Python又太費事,還佔用很多額外空間 我做了一個可以獨立啟動並執行比較完整的Python運行環境,希望能對大家有所協助。
特性
- 服務端編程完整功能的Python 2.7.3(剝離了諸如聲音,視頻等服務端無用模組)
- 整合easy_install
- 編譯出來的Python完整包只有 4MB
- 編譯出來的包基本可以直接拷貝到任何CentOS5/6的主機上運行,不需要再進行編譯。(只依賴libz, libbz2, libkrb, libsqlite等伺服器常見庫)
現在只在CentOS 5/6上測試通過 mini Python 2.7.3 runtime builder基於 "eGenix PyRun",擁有服務端編程的完整功能 之前只放在了github上,Readme還是用英文寫的,可能不方便大家閱讀,今天特意挪到這裡了
擷取miniPy
伸手黨可以從這裡直接下載miniPy: 百度雲端硬碟 360雲端硬碟 (提取碼:3982) 如果想自己試試,你需要做的只有: ##編譯的機器需要安裝sqlite-devel、bzip2-devel、openssl-static $ sudo yum install -y sqlite-devel bzip2-devel openssl-static $ git clone https://github.com/auxten/miniPyRuntime.git && cd miniPyRuntime && make 編譯出來的miniPy就在 dist/miniPy.tgz 如,我們的miniPy主要依賴如下so,這些庫在一般的主機上都是安裝了的並且ABI也比較穩定 [[email protected] ~/miniPyRuntime]$ ldd dist/bin/python linux-vdso.so.1 => (0x00007fff170d3000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003a8aa00000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003a8ba00000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003a8a600000) libz.so.1 => /lib64/libz.so.1 (0x0000003a89a00000) libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x0000003f75600000) libbz2.so.1 => /lib64/libbz2.so.1 (0x0000003f79a00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f75200000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003f74e00000) libutil.so.1 => /lib64/libutil.so.1 (0x0000003f78600000) libm.so.6 => /lib64/libm.so.6 (0x00007f1a1bb78000) libc.so.6 => /lib64/libc.so.6 (0x0000003f74a00000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003a8a200000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003a8b600000) libresolv.so.2 => /lib64/libresolv.so.2 (0x0000003f76e00000) libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003a89e00000) /lib64/ld-linux-x86-64.so.2 (0x0000003f74600000)
安裝和使用
- copy miniPy.tgz to the host
- tar xzvf miniPy.tgz && ./install-minipy /path/you/want/to/install
- enjoy it!
特別感謝如下項目
- eGenix PyRun http://www.egenix.com/products/python/PyRun
- upx http://upx.sourceforge.net
- freeze http://wiki.python.org/moin/Freeze
- strip man strip
原文這裡可以看到 http://linrc.com/minipy/項目地址 https://github.com/auxten/miniPyRuntime
miniPy for CentOS 5/6