参考网址
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需要版本一致移植才可以用