我已經使用ctypes編寫了units library的Python綁定。綁定本身只有100行Python。該庫有一個不必要的(用於Python綁定的目的)依賴於tcl,並且如果tcl不存在,配置腳本將失敗。但是,該庫建立與gcc -Wl,-soname,units.so -o units.so -fPIC -shared units.c
罰款。Python庫發佈最佳實踐
我現在想釋放這些綁定。有三種方法可以做到這一點。
- 使用基本的setup.py自行釋放綁定,併爲文檔中的C庫提供構建,下載和安裝說明。
- 釋放綁定以及原始庫源,並提供一個setup.py來處理C庫的編譯和安裝。這對我來說顯然是更多的工作。
- 只需發佈.py文件,讓用戶擔心安裝和依賴關係。
如果我選擇選項2,我應該在哪裏放置庫?我應該把它放在與.py文件相同的目錄下,允許我假設lib_name = CDLL('./units.extension')
,或者我應該把它放在一個通常位於鏈接器路徑中的目錄中(比如/ lib)?另外,對於Windows機器來說,這通常是如何處理的:a)可能沒有C編譯器,b)沒有標準的放置共享庫的地方?
以下哪個選項是首選項,我應該如何處理Windows病例?
這只是個人意見,但我d只是釋放綁定(並且如果以包的形式發佈它們,只需添加對原始庫的包的依賴)。 – Amber 2011-03-08 20:29:54