加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用Python API为C项目安装脚本

发布时间:2020-12-20 13:22:54 所属栏目:Python 来源:网络整理
导读:我有一个主要用C语言编写的项目,但它也有一个 Python API,它使用用C编写的Python扩展模块. 为Linux / UNIX环境编写安装/部署脚本的最佳方法是什么?通常,我使用make实用程序来编译和安装用C编写的项目.大多数时候,我只是让make实用程序将所有源代码编译成可
我有一个主要用C语言编写的项目,但它也有一个 Python API,它使用用C编写的Python扩展模块.

为Linux / UNIX环境编写安装/部署脚本的最佳方法是什么?通常,我使用make实用程序来编译和安装用C编写的项目.大多数时候,我只是让make实用程序将所有源代码编译成可执行文件,然后将可执行文件复制到/usr/local/bin.

但是,我的Python API需要编译/安装共享库(.so)文件以供Python使用.这主要涉及编译必要的C文件,然后将共享库复制到Python sys.path中的某个目录,例如/usr/local/lib/pythonX.X/dist-packages/.

但是如何通过Make实用程序检测Python扩展模块的相应目录?是否有环境变量或列出Python的sys.path中的目录?

解决方法

如果由于某种原因你不能使用python的distutils,你可以在shell中尝试一些启发式:

INSTALL_PATH=$(python -c 'import sys; print [ i for i in sys.path if i.endswith("-packages") ][0]')

测试:

> RHEL5:/usr/lib64/python2.4/site-packages> Debian:/usr/local/lib/python2.6/dist-packages> Solaris:/usr/local/lib/python2.6/site-packages

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读