簡體   English   中英

使用Python API為C項目安裝腳本

[英]Install script for C project with Python API

我有一個主要用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

我將該項目分為兩部分。 您的C部件可以像往常一樣使用make。 你的python模塊可以使用python設置工具,它們能夠構建擴展。

(您也可以編寫安裝目標,因此您不必手動復制內容)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM