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
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.