mirror of https://github.com/kivy/kivy.git
160 lines
5.5 KiB
ReStructuredText
160 lines
5.5 KiB
ReStructuredText
.. _installation:
|
|
|
|
Installation
|
|
============
|
|
|
|
We try not to reinvent the wheel, but to bring something innovative to the
|
|
market. As a consequence, we're focused on our own code and use pre-existing,
|
|
high-quality third-party libraries where possible.
|
|
To support the full, rich set of features that Kivy offers, several other libraries are
|
|
required. If you do not use a specific feature (e.g. video playback) you
|
|
don't need the corresponding dependency, however.
|
|
That said, there is one dependency that Kivy **does** require:
|
|
`Cython <http://cython.org>`_.
|
|
|
|
In addition, you need a `Python <http://python.org/>`_ 2.x (**not** 3.x)
|
|
interpreter. If you want to enable features like windowing (i.e., open a Window),
|
|
audio/video playback or spelling correction, additional dependencies must
|
|
be available. For these, we recommend `Pygame <http://pygame.org>`_, `Gst-Python
|
|
<http://www.gstreamer.net/modules/gst-python.html>`_ and `Enchant
|
|
<http://www.rfk.id.au/software/pyenchant/>`_, respectively.
|
|
|
|
Other optional libraries (mutually independent) are:
|
|
|
|
* `OpenCV 2.0 <http://sourceforge.net/projects/opencvlibrary/>`_ -- Camera input.
|
|
* `PIL <http://www.pythonware.com/products/pil/index.htm>`_ -- Image and text display.
|
|
* `PyCairo <http://www.cairographics.org/pycairo/>`_ -- Text display.
|
|
* `PyEnchant <http://www.rfk.id.au/software/pyenchant/>`_ -- Spelling correction.
|
|
* `PyGST <http://gstreamer.freedesktop.org/ + http://pygstdocs.berlios.de/>`_ -- Audio/video playback and camera input.
|
|
|
|
|
|
That said, **DON'T PANIC**!
|
|
|
|
We don't ask you to install all those things on your own.
|
|
Instead, we have created nice portable packages that you can use directly
|
|
since they already contain the necessary packages for your platform.
|
|
We just want you to know about the alternatives for the defaults and give
|
|
you an overview about the things Kivy uses internally.
|
|
|
|
|
|
Stable Version
|
|
--------------
|
|
|
|
The latest stable version can be found on Kivy's website at http://kivy.org/#download
|
|
Please refer to the installation instructions for your specific platform:
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
installation-windows
|
|
installation-macosx
|
|
installation-linux
|
|
installation-android
|
|
|
|
|
|
.. _installation_devel:
|
|
|
|
Development Version
|
|
-------------------
|
|
|
|
The development version is for developers and testers. Note that when
|
|
running a development version, you're running potentially broken code at
|
|
your own risk.
|
|
To use the development version, you will first need to install the
|
|
dependencies. Afterwards you have to set up Kivy on your computer in a way
|
|
that allows for easy development. For that, please see our
|
|
:ref:`contributing` document.
|
|
|
|
Installing Dependencies
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
To install Kivy's dependencies, follow the guide below for your platform.
|
|
|
|
Ubuntu
|
|
++++++
|
|
|
|
For Ubuntu, simply enter the following command that will install all
|
|
necessary packages:
|
|
|
|
::
|
|
|
|
$ sudo apt-get install python-setuptools python-pygame python-opengl \
|
|
python-gst0.10 python-enchant gstreamer0.10-plugins-good cython python-dev \
|
|
build-essential libgl1-mesa-dev libgles2-mesa-dev
|
|
|
|
.. _dev-install:
|
|
|
|
Installing Kivy for Development
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Now that you've installed all the required dependencies, it's time to
|
|
download and compile a development version of Kivy::
|
|
|
|
$ # Download Kivy from GitHub
|
|
$ git clone git://github.com/kivy/kivy.git
|
|
$ cd kivy
|
|
|
|
$ # Compile:
|
|
$ python setup.py build_ext --inplace -f
|
|
|
|
If you have the ``make`` command available, you can also use the
|
|
following shortcut to compile (does the same as the last command)::
|
|
|
|
$ make
|
|
|
|
If you want to modify the Kivy code itself, set up the `PYTHONPATH environment
|
|
variable
|
|
<http://docs.python.org/tutorial/modules.html#the-module-search-path>`_ to
|
|
point at your clone.
|
|
This way you don't have to install (``setup.py install``) after every tiny
|
|
modification. Python will instead import Kivy from your clone.
|
|
|
|
Or, if you don't want to make any changes to Kivy itself, you can also run
|
|
(as admin, e.g. with sudo)::
|
|
|
|
$ python setup.py install
|
|
|
|
If you want to contribute code (patches, new features) to the Kivy
|
|
code base, please read :ref:`contributing`.
|
|
|
|
Running the test suite
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
To help detect issues and behaviour changes in kivy, a set of unittests is
|
|
provided. A good thing to do is to run it just after kivy installation, and
|
|
then, every time you intend to push a change, or you think something was broken
|
|
in kivy, maybe a test will show this. If not, it might be a good time to write
|
|
one .)
|
|
|
|
Kivy tests are based on nosetest, that you can install from your package
|
|
manager or using pip :
|
|
|
|
$ pip install nosetest
|
|
|
|
to run the test suite, do :
|
|
|
|
$ make test
|
|
|
|
Uninstalling Kivy
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
If you are mixing multiple Kivy installations, you might be confused about where each Kivy version is
|
|
located. Please note that you might need to follow these steps multiple times, if you have multiple kivy versions
|
|
installed in the Python library path.
|
|
To find your current installed version, you can use the command line::
|
|
|
|
$ python -c 'import kivy; print kivy.__path__'
|
|
|
|
Then, remove that directory recursively.
|
|
|
|
If you have installed Kivy with easy_install on linux, the directory may
|
|
contain a "egg" directory. Remove that as well::
|
|
|
|
$ python -c 'import kivy; print kivy.__path__'
|
|
['/usr/local/lib/python2.7/dist-packages/Kivy-1.0.7-py2.7-linux-x86_64.egg/kivy']
|
|
$ sudo rm -rf /usr/local/lib/python2.7/dist-packages/Kivy-1.0.7-py2.7-linux-x86_64.egg
|
|
|
|
If you have installed with apt-get, do::
|
|
|
|
$ sudo apt-get remove --purge python-kivy
|