美文网首页
python文件编译成so介绍

python文件编译成so介绍

作者: 木叶苍蓝 | 来源:发表于2020-06-11 19:21 被阅读0次
方法一:使用cython将py文件编译成so文件
  • 环境准备
    安装 cython,以及 gcc
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install cython
yum install -y gcc python-devel
  • 编写测试脚本 test.py
import os
def test():
    print os.path.realpath('.')

将其拷贝到python系统路径 /usr/lib/python2.7/site-packages/test
在test目录下创建init.py 与 test.py 文件

  • 脚本测试
import test
print test.test()
  • 编译 so 文件
    以下操作均在 /usr/lib/python2.7/site-packages/test 路径下执行
cython test.py
gcc -c -fPIC -I/usr/include/python2.7/ test.c
gcc -shared test.o -o test.so
  • 验证
    移除/usr/lib/python2.7/site-packages/test其他文件,只保留test.so,__init__.py 文件
from test import test
test()
方法一:使用 setup.py 编译 so

上面使用 gcc 将 py 编译成 so,下面直接使用 python 自带的setup.py 来编译 so

  • 编写的 setup.py 文件位于 /usr/lib/python2.7/site-packages/test 内容如下:
from distutils.core import setup
from Cython.Build import cyhonize

setup(
    ext_modules = cythonize("test.py")
)

# 保存后执行
setup.py build_ext --inplace 

相关文章

网友评论

      本文标题:python文件编译成so介绍

      本文链接:https://www.haomeiwen.com/subject/mpkitktx.html