美文网首页
交叉编译 Python 扩展 (模块)

交叉编译 Python 扩展 (模块)

作者: 一梭烟雨李平生 | 来源:发表于2018-03-28 14:05 被阅读0次

    python+c混合编程的模块 怎么交叉编译

    前几天把 python3.6 交叉编译到了armv5的一台小设备上,这几天兴冲冲的在上边安装python的扩展。当安装到netifaces-0.10.6这个扩展的时候发现这东西是用c和python混合编程的, 得在主机上用交叉编译工具链 编译.so文件,于是翻了翻google有了此文章

    1.下载netifaces源码

    2.解压缩并进入到源码目录

    图1

    3.设置当前shell的环境变量,因为是交叉编译要改一下 CC指向的工具还有头文件库文件的地址 图2

    ```

    export CROSS_COMPILE=arm-none-linux-gnueabi-        #编译工具前缀export CC="${CROSS_COMPILE}gcc -pthread"

    export LDSHARED="${CC} -shared"

    export LDFLAGS="-L/home/lipingsheng/popo/local/lib"   #目标板中运行的python的库文件位置

    export CFLAGS="-I/home/lipingsheng/popo/local/include/python3.6m"    #目标板中运行的python的头文件地址

    ```

    解释一下最后两项的 意思,后两项指向的内容是前几天我交叉编译完成的能运行在armv5 小设备中的python的头文件和库文件地址(因为要交叉编译)

    图2

    4.执行编译

    python3.6 setup.py build bdist_egg

    图三

    5.结果

    图四

    6.egg文件在 当前目录下的./dist目录。拷贝到目标板上 安装即可

    图五

    看完别忘了点赞 嘿嘿

    相关文章

      网友评论

          本文标题:交叉编译 Python 扩展 (模块)

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