将其拷贝到python系统路径 /usr/lib/python2.7/site-packages/test
在test目录下创建 init .py 与 test.py 文件
上面使用 gcc 将 py 编译成 so,下面直接使用 python 自带的setup.py 来编译 so
Pythonpy可以通过将其编译成C/C++的库来变成so。可以使用Python Cython库来将Pythonpy编译成C/C++库。通过使用Cython,可以实现将Pythonpy编译成更快、更高效的C/C++库。要删除py拓展,只需从源代码中移除任何涉及“py”拓展的行,然后重新编译源代码即可。1、背景linux下将py编译成so,编译的so文件起到加密的作用,但注意有如下问题:
问题1:so文件体积膨胀,比如原来py2so.py的794B,编译后的py2so.so有179.3KB;
问题2:打包后的so文件跟原来的py脚本一样,依赖的python环境相同。
问题3:不同系统生成的so文件,可能不兼容,如:ubuntu系统中生成的so无法在MacOS中使用的。
建议:py编译so的 *** 作系统、python版本与最后的部署环境一致。
linux下将py编译成so,需要依赖gcc以及Cython。
1.1 查看gcc版本信息
gcc --version
root@iZu2Z:~# gcc --version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)