Как установить JPype на OS X Lion для использования с Neo4j?

Я пытаюсь использовать Neo4j для проекта и хочу взаимодействовать с ним через Python, поскольку я новичок в программировании и не знаю Java. Я следую инструкциям по установке, но я застрял на первом шаге, который заключается в установке JPype.

Я использую OS X 10.7 (лев). Я думаю, что моя конфигурация довольно стандартная с Python 2.7.2, загруженным с сайта Python, и Java 1.6.0, загруженной с сайта Apple.

Когда я запускаю

% 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

Я нашел сообщение в блоге об ошибке gcc с JPype, но я безрезультатно следовал инструкциям. Я также написал автору этого сообщения, и он сказал мне, что никогда не использовал JPype, работал в OS X 10.6 и ничего не понял.

Я также написал создателю JPype, который сказал мне, что он использует только Windows и понятия не имеет, как заставить установку работать на OS X. Но если мы сможем решить эту проблему, я смогу указать ему на ответ, и, возможно, он сможет добавить решение в документацию JPype и помочь многим другим людям!

Итак, кто-нибудь знает, что я делаю не так? Я бы хотел использовать Neo4j, но я не знаю Java, поэтому я в полной растерянности, как исправить ошибку компилятора. ошибка.

Основываясь на чтении всех доступных результатов Google, мои две ходовые теории таковы:

  1. Я каким-то образом использую 32-битную версию Python или Java (хотя я использовал стандартные официальные установки и не могу понять, как переключиться на 64-битную и возможно ли это вообще)

  2. Файлы JPype могут быть скомпилированы только с помощью GCC 4.0, а не 4.2. Но я не могу найти в Интернете ничего о том, как откатиться на GCC 4.0 (или если он поставляется с MacBook 2011 года и есть способ заставить JPype компилировать с ним вместо этого).

Есть еще один похожий вопрос, но там решение заключается в использовании другого адаптера, который проходит через REST, а не подключается напрямую к Java. Я попробую это, если потребуется, но я бы предпочел использовать рекомендуемый метод Neo4j, если это возможно.

7
задан Community 23 May 2017 в 12:23
поделиться