[英]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]')
測試:
我將該項目分為兩部分。 您的C部件可以像往常一樣使用make。 你的python模塊可以使用python設置工具,它們能夠構建擴展。
(您也可以編寫安裝目標,因此您不必手動復制內容)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.