Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refresh installation and build docs #700

Merged
merged 7 commits into from
Nov 24, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
160 changes: 160 additions & 0 deletions docs/source/buildling.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
.. _building:

Building PYJNIus
================

Building PyJNIus depends on `Cython <http://cython.org/>`_ and the `Java
<http://www.oracle.com/javase>`_ Development Kit (includes the Java Runtime
Environment).


Installation on GNU/Linux distributions
cmacdonald marked this conversation as resolved.
Show resolved Hide resolved
---------------------------------------

You need the GNU Compiler Collection (GCC), the JDK installed (openjdk
will do), and Cython. Then, just type::

sudo python setup.py install

If you want to compile the extension within the directory for any development,
just type::

make

You can run the tests suite to make sure everything is running right::

make tests


Installation for Android
------------------------

To use pyjnius in an Android app, you must include it in your compiled
Python distribution. This is done automatically if you build a `Kivy
<https://kivy.org/#home>`__ app, but you can also add it to your
requirements explicitly as follows.

If you use `buildozer
<https://buildozer.readthedocs.io/en/latest/>`__, add pyjnius to your
requirements in buildozer.spec::

requirements = pyjnius

If you use `python-for-android
<http://python-for-android.readthedocs.io/en/latest/>`__ directly, add
pyjnius to the requirements argument when creating a dist or apk::

p4a apk --requirements=pyjnius


Installation for Windows
------------------------

Python and pip must be installed and present in the ``PATH`` environment variable.


1. Download and install the JDK containing the JRE:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. Edit your system and environment variables (use the appropriate Java bitness
and version in the paths):

Add to your `Environment Variables
<https://en.wikipedia.org/wiki/Environment_variable>`_:

* ``JAVA_HOME``: C:\\Program Files\\Java\\jdk1.7.0_79\\bin
* ``PATH``: C:\\Program Files\\Java\\jdk1.7.0_79\\jre\\bin\\server
contains the ``jvm.dll`` necessary for importing and using PyJNIus.

.. note::
set PATH=%PATH%;C:\\Program Files\\Java\\jdk1.7.0_79\\jre\\bin\\server

Add to System Variables or have it present in your ``PATH``:
* ``PATH``: C:\\Program Files\\Java\\jdk1.7.0_79\\bin`

3. Download and install the C compiler:

a) Microsoft Visual C++ Compiler for Python 2.7:

http://aka.ms/vcpython27

b) MinGWPy for Python 2.7:

https://anaconda.org/carlkl/mingwpy

c) Microsoft Visual C++ Build Tools (command-line tools subset of Visual
Studio) for Python 3.5 and 3.6:

https://visualstudio.microsoft.com/downloads/

For other versions see Python's `Windows Compilers wiki
<https://wiki.python.org/moin/WindowsCompilers>`_.

4. Update `pip <https://pip.pypa.io/en/stable/installing>`_ and setuptools::

python -m pip install --upgrade pip setuptools

5. Install Cython::

python -m pip install --upgrade cython

6. Install Pyjnius::

pip install pyjnius

.. note::
In case of MinGWPy's GCC returning a ``CreateProcess failed: 5`` error
you need to run the command prompt with elevated permissions, so that
the compiler can access the JDK in ``C:\Program Files\Java\jdkx.y.z_b``
or ``C:\Program Files (x86)\Java\jdkx.y.z_b``.


Installation for macOS
----------------------

Python and pip must be installed and present in the ``PATH`` environment variable.


1. Download and install the JDK containing the JRE:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. Edit your system and environment variables (use the appropriate Java bitness
and version in the paths):

Add to your `Environment Variables
<https://en.wikipedia.org/wiki/Environment_variable>`_:

* ``export JAVA_HOME=/usr/libexec/java_home``

3. Install Xcode command-line tools.

4. Update `pip <https://pip.pypa.io/en/stable/installing>`_ and setuptools::

python -m pip install --upgrade pip setuptools

5. Install Cython::

python -m pip install --upgrade cython

6. Install Pyjnius::

pip install pyjnius


Installation for Conda
----------------------

Similar to PIP there is a package manager for
`Anaconda <https://www.anaconda.com/what-is-anaconda/>` called Conda.
An unofficial compiled distributions of PyJNIus for Conda supported
platforms you can find at https://anaconda.org/conda-forge/pyjnius.

You can install ``pyjnius`` with this command::

conda install -c conda-forge pyjnius

Or if you want a specific package label e.g. ``gcc7``::

conda install -c conda-forge/label/gcc7 pyjnius
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ documentation.
quickstart
android
api
building
packaging

Indices and tables
Expand Down
124 changes: 11 additions & 113 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,22 @@
Installation
============

PyJNIus depends on `Cython <http://cython.org/>`_ and the `Java
<http://www.oracle.com/javase>`_ Development Kit (includes the Java Runtime
Environment).
Pyjnius has pre-compiled binaries on PyPi for recent Python versions on Linux,
cmacdonald marked this conversation as resolved.
Show resolved Hide resolved
macOS and Windows.

On each platform::

Installation on GNU/Linux distributions
---------------------------------------
pip install pyjnius

You need the GNU Compiler Collection (GCC), the JDK and JRE installed (openjdk
will do), and Cython. Then, just type::
should successfully install the platform.
cmacdonald marked this conversation as resolved.
Show resolved Hide resolved

sudo python setup.py install

If you want to compile the extension within the directory for any development,
just type::

make

You can run the tests suite to make sure everything is running right::

make tests
If there is no pre-compiled binary available, pip install will aim to compile
a binary on your operating system. For more information see the :ref:`building`
documentation.

You will need the Java JDK installed (`OpenJDK <https://openjdk.org/>`__` is fine).
Pyjnius searches for Java in the usual places on each operating system. If PyJNIus
cmacdonald marked this conversation as resolved.
Show resolved Hide resolved
cannot find Java, set the JAVA_HOME environment variable.
cmacdonald marked this conversation as resolved.
Show resolved Hide resolved

Installation for Android
------------------------
Expand All @@ -47,102 +41,6 @@ pyjnius to the requirements argument when creating a dist or apk::
p4a apk --requirements=pyjnius


Installation for Windows
------------------------

Python and pip must be installed and present in the ``PATH`` environment variable.


1. Download and install the JDK containing the JRE:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. Edit your system and environment variables (use the appropriate Java bitness
and version in the paths):

Add to your `Environment Variables
<https://en.wikipedia.org/wiki/Environment_variable>`_:

* ``JAVA_HOME``: C:\\Program Files\\Java\\jdk1.7.0_79\\bin
* ``PATH``: C:\\Program Files\\Java\\jdk1.7.0_79\\jre\\bin\\server
contains the ``jvm.dll`` necessary for importing and using PyJNIus.

.. note::
set PATH=%PATH%;C:\\Program Files\\Java\\jdk1.7.0_79\\jre\\bin\\server

Add to System Variables or have it present in your ``PATH``:
* ``PATH``: C:\\Program Files\\Java\\jdk1.7.0_79\\bin`

3. Download and install the C compiler:

a) Microsoft Visual C++ Compiler for Python 2.7:

http://aka.ms/vcpython27

b) MinGWPy for Python 2.7:

https://anaconda.org/carlkl/mingwpy

c) Microsoft Visual C++ Build Tools (command-line tools subset of Visual
Studio) for Python 3.5 and 3.6:

https://visualstudio.microsoft.com/downloads/

For other versions see Python's `Windows Compilers wiki
<https://wiki.python.org/moin/WindowsCompilers>`_.

4. Update `pip <https://pip.pypa.io/en/stable/installing>`_ and setuptools::

python -m pip install --upgrade pip setuptools

5. Install Cython::

python -m pip install --upgrade cython

6. Install Pyjnius::

pip install pyjnius

.. note::
In case of MinGWPy's GCC returning a ``CreateProcess failed: 5`` error
you need to run the command prompt with elevated permissions, so that
the compiler can access the JDK in ``C:\Program Files\Java\jdkx.y.z_b``
or ``C:\Program Files (x86)\Java\jdkx.y.z_b``.


Installation for macOS
----------------------

Python and pip must be installed and present in the ``PATH`` environment variable.


1. Download and install the JDK containing the JRE:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. Edit your system and environment variables (use the appropriate Java bitness
and version in the paths):

Add to your `Environment Variables
<https://en.wikipedia.org/wiki/Environment_variable>`_:

* ``export JAVA_HOME=/usr/libexec/java_home``

3. Install Xcode command-line tools.

4. Update `pip <https://pip.pypa.io/en/stable/installing>`_ and setuptools::

python -m pip install --upgrade pip setuptools

5. Install Cython::

python -m pip install --upgrade cython

6. Install Pyjnius::

pip install pyjnius


Installation for Conda
----------------------

Expand Down
5 changes: 3 additions & 2 deletions docs/source/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ Quickstart
==========

Eager to get started? This page will give you a good introduction to Pyjnius. It assumes
you have already Pyjnius installed. If you do not, head over the
:ref:`installation` section.
you have already Pyjnius installed. If you do not, ensure you have a Java JDK installed,
cmacdonald marked this conversation as resolved.
Show resolved Hide resolved
then try `pip install pyjnius` - you can head over to the :ref:`installation` section
for more information.

A minimal example
-----------------
Expand Down
Loading