Hướng dẫn can you use java with python? - bạn có thể sử dụng java với python không?

Tôi đang sử dụng OSX 10.10.2 và đã thành công trong việc sử dụng JPype.

Chạy vào các vấn đề cài đặt với JNIUS [những người khác cũng vậy], Javabridge đã cài đặt nhưng đã gây ra lỗi bí ẩn khi tôi cố gắng sử dụng nó, PYJ4 có sự bất tiện này khi phải khởi động một máy chủ cổng trong Java trước, JCC sẽ không cài đặt. Cuối cùng, JPype cuối cùng đã làm việc. Có một nĩa được bảo trì của jpype trên github. Nó có những lợi thế chính là [a] nó cài đặt đúng cách và [b] nó có thể chuyển đổi mảng java một cách hiệu quả thành mảng numpy [np_arr = java_arr[:]]

Quá trình cài đặt là:

git clone //github.com/originell/jpype.git
cd jpype
python setup.py install

Và bạn sẽ có thể import jpype

Bản demo sau đây đã hoạt động:

import jpype as jp
jp.startJVM[jp.getDefaultJVMPath[], "-ea"]
jp.java.lang.System.out.println["hello world"]
jp.shutdownJVM[] 

Khi tôi thử gọi mã Java của riêng mình, trước tiên tôi phải biên dịch [javac ./blah/HelloWorldJPype.java] và tôi phải thay đổi đường dẫn JVM từ mặc định [nếu không bạn sẽ nhận được các lỗi "không thể tìm thấy lớp" không thể giải thích được ". Đối với tôi, điều này có nghĩa là thay đổi lệnh startjvm thành:

jp.startJVM['/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/MacOS/libjli.dylib', "-ea"]
c = jp.JClass['blah.HelloWorldJPype']  
# Where my java class file is in ./blah/HelloWorldJPype.class
...

PY4J cho phép các chương trình Python chạy trong trình thông dịch Python để truy cập động các đối tượng Java trong máy ảo Java. Các phương thức được gọi như thể các đối tượng Java nằm trong trình thông dịch Python và các bộ sưu tập Java có thể được truy cập thông qua các phương thức thu thập Python tiêu chuẩn. PY4J cũng cho phép các chương trình Java gọi lại các đối tượng Python. PY4J được phân phối theo giấy phép BSD.

Dưới đây là một ví dụ ngắn gọn về những gì bạn có thể làm với PY4J. Chương trình Python sau đây tạo ra một thể hiện java.util.random từ JVM và gọi một số phương thức của nó. Nó cũng truy cập vào một lớp Java tùy chỉnh, bổ sung ứng dụng để thêm các số được tạo.

>>> from py4j.java_gateway import JavaGateway
>>> gateway = JavaGateway[]                   # connect to the JVM
>>> random = gateway.jvm.java.util.Random[]   # create a java.util.Random instance
>>> number1 = random.nextInt[10]              # call the Random.nextInt method
>>> number2 = random.nextInt[10]
>>> print[number1, number2]
[2, 7]
>>> addition_app = gateway.entry_point               # get the AdditionApplication instance
>>> value = addition_app.addition[number1, number2] # call the addition method
>>> print[value]
9

Đây là chương trình Java đang thực hiện cùng một lúc [không có mã nào được tạo và không có công cụ nào được yêu cầu để chạy các chương trình này]. Phiên bản ứng dụng bổ sung là Gateway.Entry_Point trong đoạn mã trước. Lưu ý rằng chương trình Java phải được bắt đầu trước khi thực hiện mã Python ở trên. Nói cách khác, PY4J không bắt đầu JVM.

import py4j.GatewayServer;

public class AdditionApplication {

  public int addition[int first, int second] {
    return first + second;
  }

  public static void main[String[] args] {
    AdditionApplication app = new AdditionApplication[];
    // app is now the gateway.entry_point
    GatewayServer server = new GatewayServer[app];
    server.start[];
  }
}

Hỗ trợ & Tài nguyên %

  • Hãy xem hướng dẫn bắt đầu với PY4J.Getting Started with Py4J.

  • Duyệt tài liệu PY4J hoặc các câu hỏi thường gặp.Py4J Documentation or the Frequently Asked Questions.

  • Đặt một câu hỏi trong danh sách gửi thư.

  • Nhìn vào lộ trình.

Tin tức¶

  • Ngày 12 tháng 8 năm 2022 - PY4J 0.10.9.7 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.7 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 11 tháng 8 năm 2022 - PY4J 0.10.9.6 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.6 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 18 tháng 3 năm 2022 - PY4J 0.10.9.5 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.5 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 16 tháng 3 năm 2022 - PY4J 0.10.9.4 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.4 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 20 tháng 11 năm 2021 - PY4J 0.10.9.3 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.3 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 27 tháng 2 năm 2021 - PY4J 0.10.9.2 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.2 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 7 tháng 9 năm 2020 - PY4J 0.10.9.1 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9.1 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 25 tháng 1 năm 2019 - PY4J 0.10.9 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.9 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 21 tháng 10 năm 2018 - PY4J 0.10.8 và 0.10.8.1 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.8 and 0.10.8.1 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 30 tháng 4 năm 2018 - PY4J 0.10.7 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.7 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 5 tháng 7 năm 2017 - PY4J 0.10.6 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.6 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 28 tháng 5 năm 2017 - PY4J 0.10.5 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.5 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 14 tháng 10 năm 2016 - PY4J 0.10.4 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.4 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 31 tháng 7 năm 2016 - PY4J 0.10.3 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.3 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 20 tháng 6 năm 2016 - PY4J 0.10.2.1 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.2.1 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 19 tháng 6 năm 2016 - PY4J 0.10.2 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.2 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 11 tháng 5 năm 2016 - PY4J 0.10.1 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.1 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 18 tháng 4 năm 2016 - PY4J 0.10.0 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.10.0 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 12 tháng 3 năm 2016 - PY4J 0.9.2 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi và các tính năng mới. - Py4J 0.9.2 has been released. See the Changelog for more details about the bug fixes and new features.

  • Ngày 9 tháng 1 năm 2016 - PY4J 0.9.1 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi. - Py4J 0.9.1 has been released. See the Changelog for more details about the bug fixes.

  • Ngày 3 tháng 9 năm 2015 - Dịch vụ chuyên nghiệp hiện có sẵn nếu bạn muốn có một tính năng được triển khai nhanh chóng hoặc nhận hỗ trợ thương mại cho PY4J. - Professional Services are now available if you wish to have a feature implemented quickly or get commercial support for Py4J.

  • Ngày 25 tháng 7 năm 2015 - PY4J 0.9 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi. PY4J đã chuyển từ SourceFoge và hiện được lưu trữ trên py4j.org và nó có một danh sách gửi thư mới. - Py4J 0.9 has been released. See the Changelog for more details about the bug fixes. Py4j has moved away from sourcefoge and is now hosted on py4j.org and it has a new mailing list.

  • Ngày 27 tháng 7 năm 2014 - PY4J 0.8.2 đã được phát hành. Xem Changelog để biết thêm chi tiết về các sửa lỗi lỗi. - Py4J 0.8.2 has been released. See the Changelog for more details about the bug fixes.

  • Ngày 26 tháng 12 năm 2013 - PY4J 0.8.1 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới. - Py4J 0.8.1 has been released. See the Changelog for more details about the new features.

  • Ngày 14 tháng 6 năm 2013 - PY4J 0.8 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới. - Py4J 0.8 has been released. See the Changelog for more details about the new features.

  • Ngày 2 tháng 6 năm 2011 - PY4J 0,7 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới. - Py4J 0.7 has been released. See the Changelog for more details about the new features.

  • Ngày 17 tháng 2 năm 2011 - PY4J 0.6 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới. - Py4J 0.6 has been released. See the Changelog for more details about the new features.

  • Ngày 30 tháng 10 năm 2010 - PY4J 0,5 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới. - Py4J 0.5 has been released. See the Changelog for more details about the new features.

  • Ngày 19 tháng 9 năm 2010 - PY4J 0.4 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới. - Py4J 0.4 has been released. See the Changelog for more details about the new features.

  • Ngày 27 tháng 4 năm 2010 - PY4J 0.3 đã được phát hành. Xem Changelog để biết thêm chi tiết về các tính năng mới! - Py4J 0.3 has been released. See the Changelog for more details about the new features!

  • Ngày 11 tháng 2 năm 2010 - PY4J 0,2 đã được phát hành. Xem Changelog để biết thêm chi tiết về tất cả các tính năng mới được tìm thấy trong bản phát hành mới nhất! - Py4J 0.2 has been released. See the Changelog for more details about all the new features that found their way in the latest release!

  • Ngày 23 tháng 12 năm 2009 - PY4J 0.1 đã được phát hành. Hân hoan! - Py4J 0.1 has been released. Rejoice!

  • Ngày 11 tháng 12 năm 2009 - PY4J vẫn đang trong giai đoạn lập kế hoạch, nhưng mã hiện đang hoạt động cho các kịch bản cơ bản. Một bản phát hành và một hướng dẫn nên có sẵn trong những tuần tiếp theo. - Py4J is still in the planning phase, but the code currently works for basic scenarios. A release and a tutorial should be available in the following weeks.

Tôi có thể sử dụng cả Python và Java không?

Bạn có thể bắt đầu học ngôn ngữ ngay bây giờ miễn là bạn có kết nối Internet để tải xuống các tệp cài đặt miễn phí của họ.Bạn có thể sử dụng cả Python và Java trên Windows, Mac hoặc Linux, vì vậy bạn không có loại máy tính nào.You can use both Python and Java on Windows, Mac, or Linux, so it doesn't matter what type of computer you have.

Tôi có thể sử dụng lớp Java trong Python không?

JPype bắt đầu một JVM trong cùng một quy trình với trình thông dịch Python và cho phép họ giao tiếp bằng giao diện gốc Java [JNI]..

Bài Viết Liên Quan

Chủ Đề