This fork was the only Python 3-compatible version of JPype for a while, but it has since stalled and its root project, jpype-project/jpype has since added a lot feature, including said support of Py3.
Issue #28 has shown that the differences between the two forks are mainly on implementation and distribution level.
As a result, this fork is now deprecated and should not be used anymore. Version 0.5.5.4 will be the last published version of this repository, and only adds deprecation warning at installation and import time.
This project will stay archived on GitHub, and won't evolve anymore.
From the original Website:
JPype is an effort to allow python programs full access to java class libraries. This is achieved not through re-implementing Python, as Jython/JPython has done, but rather through interfacing at the native level in both Virtual Machines. Eventually, it should be possible to replace Java with python in many, though not all, situations. JSP, Servlets, RMI servers and IDE plugins are good candidates.
Once this integration is achieved, a second phase will be started to separate the Java logic from the Python logic, eventually allowing the bridging technology to be used in other environments, I.E. Ruby, Perl, COM, etc ...
This GitHub fork is a Python 3 version of jPype. It does not support Python 2.
This is a fork of originell/jpype, which originally aims to simplify the installation of jPype on Linux and MacOS X.
- Java classes outside of a package (in the
<default>
package) cannot be imported. - Fields or methods conflicting with a python keyword can't be accessed.
- Because of lack of JVM support, you cannot shutdown the JVM and then restart it.
- Some methods rely on the "current" class/caller. Since calls coming directly from python code do not have a current class, these methods do not work. The User Manual lists all the known methods like that.
Future developments of this fork of jPype :
- Stay close to the Python 2 version (patches, issues, ...)
- Convert examples in Python 3
- Review the code (Python and C++): clean up, add comments, ...
- Separate Python 3 specific code (Python and C++)
The Python 3 development files and either the Sun/Oracle JDK/JRE Variant or OpenJDK.
Debian/Ubuntu users will have to install g++
and python3-dev
first:
sudo apt-get install g++ python3-dev
Same thing with Fedora users:
su -c 'yum install gcc-c++ python3-devel'
On Windows, you will have to install:
- Oracle JDK
- Visual C++ Express 2010 (which is free)
On Linux:
sudo python3 setup.py install
On Windows:
python setup.py install
This happens mostly due to the setup not being able to find your
JAVA_HOME
. In case this happens, please do two things:
You can continue the installation by finding the
JAVA_HOME
on your own ( the place where the headers etc. are) and explicitly setting it for the installation:JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 python3 setup.py install
Please create an Issue on GitHub and post all the information you have.
OS | Architecture | Java version |
---|---|---|
Fedora 18 | 64 bits | OpenJDK 6 and 7 |
Fedora 19 | 64 bits | OpenJDK 6 and 7 |
Ubuntu 12.04 | 64 bits | OpenJDK 6 and 7 |
Mac OS X 10.8.4 | 64 bits | Oracle JDK 6 and 7 |
Mac OS X 10.9 | 64 bits | Oracle JDK 6 and 7 |
Windows 7 | 32 bits | Oracle JDK 7 and OpenJDK 7 |