參考網址
https://www.cnblogs.com/ke10/p/py2so.html
1.
python 安裝:cython
pip install cython
linux 安裝:python-devel,gcc
yum install python-devel,gcc
實例:
新建類文件 c1.py
import datetime
class Cc(object):
def getTime(self):
print(datetime.datetime.now())
新建測試文件 t1.py
from c1 import Cc
c = Cc()
c.getTime()
新建加密文件 setup.py
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(["c1.py"]))
2.加密文件
執行 python3 setup.py build_ext
生成文件 build/lib.linux-x86_64-3.7/c1.cpython-37m-x86_64-linux-gnu.so 文件
比如他的全路徑是 /tmp/test/build/lib.linux-x86_64-3.7/c1.cpython-37m-x86_64-linux-gnu.so
3.使用,在任務一個目錄下進入python交互模式
>>> import sys
>>> sys.path.append('/tmp/test/build/lib.linux-x86_64-3.7')
>>> from c1 import Cc
>>> c = Cc()
>>> c.getTime()
2019-12-20 15:52:58.742427
=====================
打包后的文件,測試
原 centos7.0 python 3.7.5
在原來設備里裝 python3.5.7 測試 不通過
以下非原來設備
測試系統 centos7.2 python 3.7.5 通過
測試系統 centos7.2 python 2.7.5 不通過
測試系統 centos6.5 python 2.7.5 不通過
測試系統 centos6.5 python 3.5.7 不通過
初步結論:python需要版本一致移植才可以用