我与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