[英]Where Should Shared Object Files Be Placed?
我正在冒險使用pybindgen為Python創建C / C ++綁定。 我已經按照“構建它(GCC說明)”中概述的步驟為示例文件創建綁定:
http://packages.python.org/PyBindGen/tutorial.html#a-simple-example
運行make
會生成一個.so文件。 如果我沒有理解.so文件是如何工作的,我應該能夠import
類的共享對象成Python。 但是,我不確定將文件放置在哪里以及如何讓Python知道它在哪里。 另外,原始的c / c ++源文件是否需要與.so文件一起使用?
到目前為止,我已經嘗試將文件放在/ usr / local / lib中,並將該路徑添加到DYLD_LIBRARY_PATH到.bash_profile中。 當我嘗試從Python Interpeter導入模塊時,拋出錯誤,指出找不到模塊。
所以,我的問題是:為了使Python程序可以使用生成的.so文件,該怎么做?
Python在搜索python的目錄中查找.so
模塊。 因此,您必須像正常的python模塊一樣安裝它,或者在默認情況下位於python sys.path
上的某個位置( /usr/share/python/site-lib
或類似的東西-取決於發行版)或添加目錄到PYTHONPATH
環境變量。
是使用dlopen而不是動態鏈接器加載模塊的python,因此LD_LIBRARY_PATH
(請注意,沒有DY
)將無法為您提供幫助。
與所有其他Python模塊相同。 它必須在sys.path
指定的位置之一內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.