Tôi đang cố gắng sử dụng Neo4j cho một dự án, và muốn giao tiếp với nó thông qua Python kể từ khi tôi là một newbie để lập trình và không biết bất kỳ Java. Tôi đang theo dõi installation instructions, nhưng tôi bị kẹt trên bước đầu tiên, đó là cài đặt JPype.Làm thế nào để cài đặt JPype trên OS X Lion để sử dụng với Neo4j?
Tôi đang sử dụng OS X 10.7 (sư tử). Tôi nghĩ rằng cấu hình của tôi là khá chuẩn với Python 2.7.2 được tải xuống từ trang web Python và Java 1.6.0 được tải xuống từ trang web của Apple.
Khi tôi chạy
% sudo python setup.py install
Trên cài đặt JPype, tôi nhận được khoảng 100 dòng mã lỗi về file .h khác nhau, sau đó nó chấm dứt với các dòng:
lipo: can't figure out the architecture type of: /var/tmp//
ccwOzLi9.out
error: command 'gcc-4.2' failed with exit status 1
tôi tìm thấy một số blog post about a gcc error with JPype, nhưng tôi đã làm theo hướng dẫn ở đó để không có kết quả. Tôi cũng gửi email cho tác giả của bài đăng đó và anh ấy nói với tôi chưa bao giờ thực sự sử dụng JPype, đã làm việc trong OS X 10.6 và không có bất kỳ thông tin chi tiết nào. Tôi cũng gửi email cho tác giả của JPype, người đã nói với tôi rằng anh ấy chỉ sử dụng Windows và không biết cách cài đặt trên OS X. Nhưng nếu chúng tôi có thể giải quyết vấn đề này, tôi có thể chỉ cho anh ấy câu trả lời và có lẽ anh ta có thể thêm giải pháp vào tài liệu JPype và giúp đỡ nhiều người khác!
Vì vậy, bất kỳ ai biết tôi đang làm gì sai? Tôi muốn sử dụng Neo4j, nhưng tôi không biết Java vì vậy tôi đang ở một mất mát hoàn toàn để làm thế nào để sửa chữa một lỗi biên dịch .
Dựa trên đọc mọi kết quả có sẵn của Google, tôi hai chạy lý thuyết là rằng:
tôi bằng cách nào đó sử dụng một phiên bản 32-bit của Python hay Java (mặc dù tôi sử dụng cài đặt chính thức tiêu chuẩn và không thể tìm ra cách để chuyển sang 64 bit hoặc nếu điều đó có thể xảy ra)
Tệp JPype chỉ có thể được biên dịch bằng GCC 4.0 thay vì 4.2. Nhưng tôi không thể tìm thấy bất cứ điều gì trực tuyến về cách quay trở lại GCC 4.0 (hoặc nếu nó đi kèm với MacBook năm 2011 và có một số cách để buộc JPype để biên dịch với điều đó thay thế).
Có another similar question, nhưng giải pháp có sử dụng bộ điều hợp khác đi qua REST thay vì trực tiếp vào Java. Tôi sẽ thử rằng nếu tôi phải, nhưng tôi thực sự sẽ sử dụng phương pháp Neo4j được đề xuất nếu có thể.
+1 để tự mình giải quyết vấn đề trước. – edwardw
Tôi đã tạo [một ngã ba trên github] (https://github.com/originell/jpype) với một số thay đổi được đề xuất được đề cập trong chủ đề này. –