我想運行這個代碼示例來測試Ubuntu 12.04上的swig。我的系統上安裝了python 2.7.3。此代碼似乎適用於聯網機器。我怎樣才能找到我的python安裝在哪裏,我應該替換這些目錄路徑是什麼?我在哪裏可以找到我的-I/usr/local目錄?
cc -c example.c example_wrap.c \
-I/usr/local/include/python1.5 \
-I/usr/local/lib/python1.5/config
我想運行這個代碼示例來測試Ubuntu 12.04上的swig。我的系統上安裝了python 2.7.3。此代碼似乎適用於聯網機器。我怎樣才能找到我的python安裝在哪裏,我應該替換這些目錄路徑是什麼?我在哪裏可以找到我的-I/usr/local目錄?
cc -c example.c example_wrap.c \
-I/usr/local/include/python1.5 \
-I/usr/local/lib/python1.5/config
您可以用python-config --includes
替換這些行,它會自動爲編譯器和您安裝的Python版本創建正確的語句。 本身是通過python-dev
安裝的,如果您還沒有安裝它,您將需要安裝它。
所以調用命令行編譯器:
cc -c example.c example_wrap.c $(python-config --cflags) -fPIC
而且,python1.5?你在哪裏找到這個例子?
/usr/local
是標準的Posix任何操作系統,請參閱Filesystem Hierarchy Standard (FHS)。你可以通過apt-get獲得你需要的python版本(我認爲命令是sudo apt-get install python1.5
,但目前我不在Ubuntu系統中,所以我不能嘗試它),它會把它放在標準的位置,很可能是/usr/local
。
要回答您的問題的其他部分,您可以使用which python
找到您的python安裝位置。 python
很可能是python2.7
的符號鏈接,因此您可能必須明確運行python1.5
,如果已安裝它,可以使用which python1.5
找到它。
Python 1.5是一個非常非常老的Python版本。你從哪裏得到代碼樣本?
謝謝。這是1998年的swig教程。實際上,我已經替換了python-dev工具,但在示例中的地址中仍然沒有python.h。另外現在我得到以下錯誤:example_wrap.c:2952:21:致命錯誤:headers.h:沒有這樣的文件或目錄 編譯終止。 – rishiag 2013-05-12 09:30:23
在http://www.swig.org/tutorial.html有一個稍微更新的教程。仍然python2.1;)用我稍微編輯的命令行,那裏的例子適用於我。如果你想與python的c代碼交互,你也可以看看http://cffi.readthedocs.org/en/latest/index.html – 2013-05-12 09:51:05
非常感謝。 :)這對我來說很好。其實我試圖做到這一點:http://stackoverflow.com/questions/16504795/how-do-i-integrate-c-library-with-python我想整合C + +庫與Python。關於如何完成的任何想法? – rishiag 2013-05-12 10:02:02