Installation

The following sections should help you install the library on your machine.

Some of the instructions are based on the CellProfiler instructions, the guys behind the javabridge library.

However, if you should encounter problems or if you would like to submit improvements on the instructions below, please use the following mailing list:

https://groups.google.com/forum/#!forum/python-weka-wrapper

Videos

You can find videos on YouTube that show the installation process:

Prerequisites for all plaforms

You need a Java Development Kit (JDK) 1.8/8 (e.g., OpenJDK) installed and the JAVA_HOME environment variable pointing to the installation directory in order to use python-weka-wrapper3 library.

Note: In the past, it was not recommended to use OpenJDK, as Weka was developed with and tested against Oracle’s version. However, Oracle’s JDK 8 is no longer available for public download and OpenJDK matured enough that it is now the recommended Java version to use.

Ubuntu

First, you need to be able to compile C/C++ code and Python modules:

$ sudo apt-get install build-essential python-dev

Now, you can install the various packages that we require for installing python-weka-wrapper:

$ sudo apt-get install python-pip python-numpy

The following packages are optional, but necessary if you also want some graphical output:

$ sudo apt-get install python-pil python-matplotlib python-pygraphviz

Install OpenJDK as well, in order to get all the header files that javabridge compiles against (but don’t use it for starting up JVMs):

$ sudo apt-get install default-jdk

Finally, you can use pip to install the Python packages that are not available in the repositories:

$ sudo pip install javabridge
$ sudo pip install python-weka-wrapper

Debian

First, become the superuser:

$ su

You need to be able to compile C/C++ code and Python modules:

$ apt-get install build-essential python-dev

Now, you can install the various packages that we require for installing `python-weka-wrapper:

$ apt-get install python-pip python-numpy

The following packages are optional, but necessary if you also want some graphical output:

$ apt-get install python-imaging python-matplotlib python-pygraphviz

Download an Oracle JDK and un-tar it in /opt (e.g., /opt/jdk1.8.0_162/). Export the Java home directory as follows (required for the javabridge installation):

$ export JAVA_HOME=/opt/jdk1.8.0_162/

Finally, you can use pip to install the Python packages that are not available in the repositories:

$ pip install javabridge
$ pip install python-weka-wrapper

Please note, when using python-weka-wrapper as a normal user, don’t forget to export the JAVA_HOME environment variable as described above (e.g., add it to your .profile).

Fedora/CentOS/Redhat

Here are some rough instructions (as superuser):

  • install openjdk (+ -devel) package
  • install python (+ -devel) package
  • download pip from https://bootstrap.pypa.io/get-pip.py
  • install pip using python get-pip.py
  • install dev tools using yum groupinstall "Development tools"
  • install numpy package
  • install python-imaging package (shouldn’t be necessary)
  • install javabridge using pip javabridge
  • install python-weka-wrapper using pip python-weka-wrapper

Other Linux distributions

See these general instructions for installing Python on Linux. You need to be able to compile C/C++ code and Python modules (i.e., Python header files are required). By installing OpenJDK, you should be able to compile javabridge against its header files (for JNI access).

Then you need to install the following Python packages, preferably through your package manager (e.g., yum). Please note that on a headless machine, you can omit the packages marked as optional, as they are only required for graphical output and plots:

  • pip
  • numpy
  • PIL (optional)
  • matplotlib (optional)
  • pygraphviz (optional)

Once these libraries are installed, you can use pip to install the remaining Python packages:

$ sudo pip install javabridge
$ sudo pip install python-weka-wrapper

Mac OSX

Please follow these general instructions for installing Python.

In order to compile C/C++ code, you need to install Xcode through Apple’s App Store. Once installed you can install the XCode command-line tools by issuing the command xcode-select --install in a terminal.

Also, install graphviz using homebrew (brew install pkg-config and brew install graphviz) for visualizing trees and graphs.

You need to install the following Python packages:

  • numpy
  • pillow
  • matplotlib
  • pygraphviz

Once these libraries are installed, you can use pip to install the remaining Python packages:

$ pip install javabridge
$ pip install python-weka-wrapper

Windows using Anaconda

Please note: You need to make sure that the bitness of your environment is consistent. I.e., if you install a 32-bit version of Anaconda, you need to install a 32-bit JDK (or all of them are 64-bit).

  • download javabridge for Python 2.7 (cp27) and your bitness (32 or 64 bit)

  • the following sets up an environment with Python 2.7

    > conda create --name pww python=2.7
    > activate pww
    > pip install numpy
    > pip install C:\where\you\downloaded\it\javabridge-X.Y.Z.whl
    > pip install python-weka-wrapper
    

If you want plotting support, then install also graphviz and matplotlib:

  • download graphviz and add the path to its installed binaries to your PATH environment variable.
  • install matplotlib using pip install matplotlib

Windows

Please note: You need to make sure that the bitness of your environment is consistent. I.e., if you install a 32-bit version of Python, you need to install a 32-bit JDK and 32-bit numpy (or all of them are 64-bit).

Perform the following steps:

  • install Python, make sure you check Add python.exe to path during the installation
  • add the Python scripts directory to your PATH environment variable, e.g., C:\\Python27\\Scripts
  • install pip with these steps:
  • download from here
  • install using python get-pip.py
  • install numpy
  • download numpy 1.9.x MKL (or later) for Python 2.7 (cp27) and your bitness (32 or 64 bit)
  • install the .whl file using pip: pip install numpy-X.Y.Z.whl
  • install javabridge
  • download javabridge (or later) for Python 2.7 (cp27) and your bitness (32 or 64 bit)
  • install the .whl file using pip: pip install javabridge-X.Y.Z.whl

If you want to use the plotting functionality, you need to install matplotlib as well:

  • download matplotlib for Python 2.7 (cp27) and your bitness (32 or 64 bit)
  • install the .whl file using pip: pip install matplotlib-X.Y.Z.whl
> pip install python-weka-wrapper

For being able to compile libraries on Windows, you need the Microsoft Build Tools 2015 installed.

From source

You have two options for installing the library from source, either through a release archive or using the bleeding edge source code that is available through the Github repository.

Archive

Go to the releases page on Github and download the Source code archive (zip or tar.gz) of the release that you want to install. After the download finishes, decompress the archive. Open a terminal/command prompt and execute the following command from within the directory with the setup.py file:

$ python setup.py install

Check out the section on virtualenv as well, if you would rather install it in a disposable location.

Gtihub

Clone the Github repository as follows:

git clone https://github.com/fracpete/python-weka-wrapper.git

Change into the newly created directory and install the library using the following command:

$ python setup.py install

Check out the section on virtualenv as well, if you would rather install it in a disposable location.