Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在OS X Lion上安装JPype以与Neo4j一起使用?_Java_Python_Gcc_Osx Lion_Neo4j - Fatal编程技术网

Java 如何在OS X Lion上安装JPype以与Neo4j一起使用?

Java 如何在OS X Lion上安装JPype以与Neo4j一起使用?,java,python,gcc,osx-lion,neo4j,Java,Python,Gcc,Osx Lion,Neo4j,我正在尝试将Neo4j用于一个项目,并希望通过Python与之交互,因为我是编程新手,不懂Java。我在跟踪,但我被卡住了 第一步是安装JPype 我正在使用OSX10.7Lion。我认为我的配置相当标准 从Python网站下载Python 2.7.2,从Apple网站下载Java 1.6.0 当我跑的时候 % sudo python setup.py install 在JPype安装程序中,我得到了大约100行关于各种.h文件的错误代码,然后 以以下行结束: lipo: can't figu

我正在尝试将Neo4j用于一个项目,并希望通过Python与之交互,因为我是编程新手,不懂Java。我在跟踪,但我被卡住了 第一步是安装JPype

我正在使用OSX10.7Lion。我认为我的配置相当标准 从Python网站下载Python 2.7.2,从Apple网站下载Java 1.6.0

当我跑的时候

% sudo python setup.py install
在JPype安装程序中,我得到了大约100行关于各种.h文件的错误代码,然后 以以下行结束:

lipo: can't figure out the architecture type of: /var/tmp//
ccwOzLi9.out

error: command 'gcc-4.2' failed with exit status 1
我找到了一个,但我按照那里的指示做了,没有用。我还给那篇文章的作者发了电子邮件,他告诉我从未真正使用过JPype,一直在OSX10.6中工作,也没有任何见解

我还给JPype的创建者发了电子邮件,他告诉我他只使用Windows,不知道如何在OS X上进行安装。但是如果我们能解决这个问题,我可以告诉他答案,也许他可以将解决方案添加到JPype文档中,并帮助其他很多人

有人知道我做错了什么吗?我想使用Neo4j,但我 我不懂Java,所以我完全不知道如何修复编译器 错误

基于阅读每一个谷歌搜索结果,我的两个 理论是:

我不知怎么地使用了32位版本的Python或Java,尽管我 使用标准的官方安装,但不知道如何 切换到64位,或者如果可能的话

只能使用GCC4.0而不是4.2来编译JPype文件。 但是我在网上找不到任何关于如何回滚到GCC4.0或GCC4.0的信息 如果它与2011年的MacBooks一起提供,并且有一些方法可以强制使用 JPype来编译它


有,但解决方案是使用不同的适配器,通过REST而不是直接连接到Java。如果有必要,我会尝试,但如果可能的话,我真的更愿意使用推荐的Neo4j方法。

我不是Python爱好者,但尝试在我的机器上安装JPype:

% uname -a
Darwin fatty-i7.local.tld 11.2.0 Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64
% java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
在OSX Lion上,最新的JDK似乎位于以下位置:

/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/JavaVM.framework/
谷歌搜索了一下这个帖子:

我按照这些说明修改setup.py,然后毫无问题地运行sudopython setup.py安装


这有帮助吗?

我也这么做了,但是选择了

self.javaHome = '/Developer/SDKs/**MacOSX10.6.sdk**/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/'
反而

self.javaHome = '/Developer/SDKs/**MacOSX10.7.sdk**/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/'
认识到我使用的是版本6和版本7。对于7版本,我得到了与开始时相同的错误

对我来说

self.javaHome = '/System/Library/Frameworks/JavaVM.framework/Versions/Current/'
成功了

$ uname -a Darwin  11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64 

$ java -version java version "1.6.0_33" Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720) Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)
$uname -a
Darwin 12.0.0 Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64

$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

对我来说,在山狮上

self.javaHome = '/System/Library/Frameworks/JavaVM.framework/'
成功了

$ uname -a Darwin  11.4.0 Darwin Kernel Version 11.4.0: Mon Apr 9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64 

$ java -version java version "1.6.0_33" Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720) Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)
$uname -a
Darwin 12.0.0 Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64

$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-11M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)

在我的Lion上,JDK中的include目录不见了,因此JPype找不到jni.h

我在两个地方更新了setup.py,一个是设置查找jar库的位置:

def setupMacOSX(self):
    self.javaHome = '/System/Library/Frameworks/JavaVM.framework'
    self.jdkInclude = ""
    self.libraries = ["dl"]
    self.libraryDir = [self.javaHome+"/Home/lib"]
    self.macros = [('MACOSX',1)]
还有一个设置在哪里可以找到jni.h:

def setupInclusion(self):
    self.includeDirs = [
        self.javaHome+"/Headers",
        <other stuff>

对于那些试图在Mountain Lion上安装的用户,我必须进一步编辑setup.py文件,以包含以下头文件:


/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers

适用于所有仍在尝试安装Jpype但同时更新了Mac OS的用户:Andreas Kolleger的答案很好,但对于XCode 4.3,路径更改为/Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/


在ML中,它是MacOSX10.8.sdk。至少在我的系统上:

以下是我在自述文件中给出的在OS X 10.7上安装JPype的说明。与这里的答案想法相同,但不同程度足以保证提交

java JPype的python接口需要setup.py的mods: 总之,您需要确保JPype setup.py脚本可以看到您的Java SDK头和主目录 我必须首先从苹果安装Java,因为我默认的OS X安装在我通过执行以下命令发现的典型Java安装路径中没有标题:

/usr/libexec/java_home
如果您碰巧有一个Headers目录,您可能不需要重新安装Java,并且可以根据您的Java主目录设置下面的路径变量,这可能与这些方向不同

安装Java后,我在以下位置找到了新安装:

/Library/Java/JavaVirtualMachines/
我的主目录是:

/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/
/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Headers/
我的头目录是:

/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/
/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Headers/
1 JPype脚本假定头在主目录中,但不在主目录中,因此我更改了主路径变量,并在setup.py脚本中创建了一个新的内容路径变量-在setupMacOSXself中:

2在setupMacOSXself中,更改self.libraryDir:

请注意,这一步是按要求提出来的,但我不必这样做,这样它就可以工作了,所以可能先不用它试试 3在setupInclusion中,将路径添加到主目录/包含目录和标题目录:

self.javaHome+"/include", 
self.javaContents + "/Headers",
4运行安装程序现在应该可以工作了:

sudo python setup.py install

为了让威尔的回答更具体一点:我必须修改setupInclusionself方法,添加他建议的目录路径,即Mountain Lion java 1.6版上的“/System/Library/Frameworks/JavaVM.framework/Headers”。随着日元的安装
pe成功了,但给出了一系列警告…

以下是对我有效的建议-建议你在个人资料中放第一行

导出JAVA_HOME=$/usr/libexec/JAVA_HOME cd$JAVA_主页 sudo ln-s包含头 sudo cp include/darwin/*include/ 光盘-


请注意,我没有更改setup.py,而是更改了JDK安装。这有助于解决其他项目的问题。

Woo!这就解决了问题。我关注了你引用的博客文章,但我使用了/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home作为我的Java_主页,这是我从运行%/usr/libexec/Java_Home中得到的,另一篇博客文章告诉我要这么做。我会给JPype的家伙发电子邮件,让他把这个添加到文档中。在setup.py中,你需要添加self.jdkInclude=darwin和self.javaHome='/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home'。然后运行python setup.py install-user+1,首先尝试自己解决这个问题。我使用本线程中提到的一些建议的更改创建了它。是的,这是一个很好的观点。我应该提到操作系统版本,并对我的答案进行了编辑以反映这一点。具体路径将因您特定版本的MacOSX和安装的JDK而异。感谢您添加此信息,但由于这不是一个直接的答案,因此更适合作为注释