我與JPype有一個正確的老噩夢。我有我的開發環境在Windows上,所以嘗試在那裏安裝它沒有運氣。然後我嘗試了Ubunto也沒有運氣。我現在有點絕望了。我使用的是Mingw32,因爲我嘗試安裝VS2008,但它告訴我必須安裝XP SP2,但我在Vista上。我試過VS2010,但沒有運氣,我得到'錯誤:無法找到vcvarsall.bat'錯誤。無論如何,我現在在Mingw32JPype編譯問題
最終我試圖使用Neo4j和Python,因此我需要使用JPype。我已經在MySQL網絡上發現了許多關於這個問題的參考,但他們並沒有幫助我使用JPype。
如果我可以修復unix或windows,我可以得到這樣的幫助將會非常感激。
這裏的版本..
Windows系統:Vista的64 的Python:2.6 編譯MINGW32:最新版本 Jpype:0.5.4.1 Java的信息: Java版本 「1.6.0_13」 的Java(TM) SE運行時環境(建立1.6.0_13-B03) 的HotSpot的Java(TM)64位服務器VM(建11.3-B02,混合模式)
我運行:
蟒蛇的setup.py安裝--comp iler = wingw32
並獲得以下輸出。
選擇Windows配置文件 運行安裝 運行建立運行build_py 運行build_ext 建設 '_jpype' 擴展 Ç :\ MinGW的\ BIN \ gcc.exe -mno-cygwin的-mdll -O -Wall -DWIN32 = 1「-IC:\ Program Files(x86)\ Java \ jdk1.6.0_21/include」「-IC:\ Program Files(x86)\ Java \ jdk1.6.0_21/include/win32」-Isrc/native/common/include -Isrc/native/python/include -Ic:\ Python26 \ include -Ic:\ Python26 \ PC -c src/native/common/jp_array.cpp -o build \ temp.win32-2.6 \ Release \ src \ native \ common \ jp_array.o/EHsc src/native/common/jp_array.cpp:在成員函數'void JPArray :: setRange(int,int,std :: vector &)'中: sr c/native/common/jp_array.cpp:56:13:警告:在有符號和無符號整數表達式之間進行比較 src/native/common/jp_array.cpp:68:4:警告:不推薦將字符串常量轉換爲'char *' src/native/common/jp_array.cpp:在成員函數'void JPArray :: setItem(int,HostRef *)'中: src/native/common/jp_array.cpp:80:3:警告:不推薦使用字符串常量到 '字符*' GCC:/ EHSC:沒有這樣的文件或目錄 錯誤:命令 'GCC' 與退出狀態失敗1
所以在UNIX Ubunto的問題如下:
Java版本:1.6 .0_18 JPype:0.5.4.1 的Python:2.6
Java是在路徑和我做的apt-get安裝集結要領剛纔那麼有最新的GCC等
我不會糊所有的輸出,因爲它是巨大的。如此多的錯誤就像我錯過了Java或類似的安裝,但我沒有。打字java帶我進入上面的版本。這是開始:
運行安裝 運行建立運行build_py 運行build_ext 建設 '_jpype' 擴展 GCC -pthread -fno嚴格走樣-DNDEBUG -g -fwrapv -02 -Wall -Wstrict的原型 -fPIC -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.08/include -I/usr/lib/jvm/java-1.5.0-sun-1.5.0.08/include/linux -Isrc/native/common/include -Isrc/native/python/include -I/usr/include/python2.6 -c src/native/common/jp_javaenv_autogen.cpp -o build/temp.linux-i686-2.6/src/native /common/jp_javaenv_autogen.o cc1plus:警告:命令行選項「-Wstrict的原型」是有效的阿達/ C/ObjC但不能用於C++ 在文件中包含從SRC /天然/普通/ jp_javaenv_auto gen.cpp:21: src/native/common/include/jpype.h:45:17:error:jni.h:沒有這樣的文件或目錄 從src/native/common/jp_javaenv_autogen.cpp包含的文件中:21 : src/native/common/include/jpype.h:77:error:ISO C++禁止聲明沒有類型的'jchar' src/native/common/include/jpype.h:77:error:expected','或之前 '...' '' 令牌 SRC /天然的/普通/包含/ jpype.h:82:錯誤:ISO C++禁止 'jchar' 的聲明無類型 SRC /天然的/普通/包含/ jpype。 H:82:錯誤:預期 ';' 前 '' 令牌 SRC /天然的/普通/包含/ jpype.h:86:錯誤:ISO C++禁止 'jchar' 的聲明無類型 SRC /天然/普通/ include/jpype.h:86:錯誤:預期 ';' 前 '&' 令牌 SRC /天然的/普通/包含/ jpype.h:88:錯誤:預期 ';' 之前 '私人' SRC /天然的/普通/包含/ jpype.h:89:錯誤:ISO C++禁止聲明沒有類型的'jchar' src/native/common/include/jpype.h:89:error:expected';''*'token 從src/native/common /包括/ jpype.h:96, 從SRC /天然的/普通/ jp_javaenv_autogen.cpp:21:
這是結束:
SRC /天然的/普通/包含/ jp_monitor.h:27:錯誤:'jobject'不命名類型 src /天然的/普通/ jp_javaenv_autogen.cpp:30:錯誤: 'jbyte' 沒有指定類型 SRC /天然的/普通/ jp_javaenv_autogen.cpp:38:錯誤: 'jbyte' 沒有指定類型 SRC /天然/普通/ jp_javaenv_autogen.cpp:45:error:變量或字段'SetStaticByteField'聲明爲void src/native/common/jp_javaenv_autogen.cpp:45:error:'jclass'未在此範圍內聲明 src/native/common/jp_javaenv_autogen.cpp :45:error:'jfieldID'未在此範圍內聲明 src/native/common/jp_javaenv_autogen.cpp:45:錯誤:'jbyte'未在此範圍內聲明 錯誤:命令'gcc'失敗,退出狀態爲1