Permalink
Browse files

Document that we support PyPy. #2513

  • Loading branch information...
1 parent b20be9a commit fb58c6c6602dbb181455c3140f9d99c592e395d8 @pekkaklarck pekkaklarck committed Jan 4, 2017
Showing with 64 additions and 19 deletions.
  1. +57 −14 INSTALL.rst
  2. +6 −5 README.rst
  3. +1 −0 setup.py
View
@@ -25,9 +25,10 @@ Introduction
------------
`Robot Framework <http://robotframework.org>`_ is implemented with `Python
-<http://python.org>`_ and supports also `Jython <http://jython.org>`_ (JVM) and
-`IronPython <http://ironpython.net>`_ (.NET). Before installing the framework,
-an obvious precondition_ is installing at least one of these interpreters.
+<http://python.org>`_ and supports also `Jython <http://jython.org>`_ (JVM),
+`IronPython <http://ironpython.net>`_ (.NET) and `PyPy <http://pypy.org>`_.
+Before installing the framework, an obvious precondition_ is installing at
+least one of these interpreters.
Different ways to install Robot Framework itself are listed below and explained
more thoroughly in the subsequent sections.
@@ -71,9 +72,8 @@ Preconditions
-------------
Robot Framework is supported on Python_ (both Python 2 and Python 3), Jython_
-(JVM) and IronPython_ (.NET) and runs also on `PyPy <http://pypy.org>`_.
-The interpreter you want to use should be installed before installing the
-framework itself.
+(JVM) and IronPython_ (.NET) and PyPy_. The interpreter you want to use should
+be installed before installing the framework itself.
Which interpreter to use depends on the needed test libraries and test
environment in general. Some libraries use tools or modules that only work
@@ -179,6 +179,20 @@ After installing IronPython, you probably still want to configure PATH_ to make
IronPython itself as well as the ``robot`` and ``rebot`` `runner scripts`_
executable on the command line.
+PyPy installation
+~~~~~~~~~~~~~~~~~
+
+PyPy_ is an alternative implementation of the Python language with both Python 2
+and Python 3 compatible versions available. Its main advantage over the
+standard Python implementation is that it can be faster and use less memory,
+but this depends on the context where and how it is used. If execution speed
+is important, at least testing PyPY is probably a good idea.
+
+Installing PyPy is a straightforward procedure and you can find both installers
+and installation instructions at http://pypy.org. After installation you
+probably still want to configure PATH_ to make PyPy itself as well as the
+``robot`` and ``rebot`` `runner scripts`_ executable on the command line.
+
Configuring ``PATH``
~~~~~~~~~~~~~~~~~~~~
@@ -278,10 +292,10 @@ alternatives such as `Buildout <http://buildout.org>`__ and `easy_install
only cover using pip, but other package managers ought be able to install
Robot Framework as well.
-Latest Python, Jython and IronPython versions contain pip bundled in. Which
-versions contain it and how to possibly activate it is discussed in sections
-below. See pip_ project pages if for latest installation instructions if you
-need to install it.
+Latest Python, Jython, IronPython and PyPy versions contain pip bundled in.
+Which versions contain it and how to possibly activate it is discussed in
+sections below. See pip_ project pages if for the latest installation
+instructions if you need to install it.
.. note:: Only Robot Framework 2.7 and newer can be installed using pip. If you
need an older version, you must use other installation approaches.
@@ -292,7 +306,8 @@ Installing pip for Python
Starting from Python 2.7.9, the standard Windows installer by default installs
and activates pip. Assuming you also have configured PATH_ and possibly
set https_proxy_, you can run `pip install robotframework` right after
-Python installation.
+Python installation. With Python 3.4 and newer pip is officially part of the
+interpreter and should be automatically available.
Outside Windows and with older Python versions you need to install pip yourself.
You may be able to do it using system package managers like Apt or Yum on Linux,
@@ -354,6 +369,26 @@ IronPython versions prior to 2.7.5 do not officially support pip.
__ http://blog.ironpython.net/2014/12/pip-in-ironpython-275.html
+Installing pip for PyPy
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Also PyPy contains pip bundled in. It is not activated by default, but it can
+be activated similarly as with the other interpreters:
+
+.. sourcecode:: bash
+
+ pypy -m ensurepip
+ pypy3 -m ensurepip
+
+If you have multiple Python versions with pip installed, the version that is
+used when the ``pip`` command is executed depends on which pip is first in the
+PATH_. An alternative is executing the ``pip`` module using PyPy directly:
+
+.. sourcecode:: bash
+
+ pypy -m pip
+ pypy3 -m pip
+
Using pip
~~~~~~~~~
@@ -429,6 +464,7 @@ it from the command line using any of the supported interpreters:
python setup.py install
jython setup.py install
ipy setup.py install
+ pypy setup.py install
The ``setup.py`` script accepts several arguments allowing, for example,
installation into a non-default location that does not require administrative
@@ -545,12 +581,19 @@ undo those changes separately.
Upgrading
---------
-If you are using pip_, upgrading to a new version required either using
-the `--upgrade` option or specifying the version to use explicitly:
+If you are using pip_, upgrading to a new version requires either specifying
+the version explicitly or using the :option:`--upgrade` option. If upgrading
+to a preview release, :option:`--pre` option is needed as well.
.. sourcecode:: bash
+ # Upgrade to the latest stable version. This is the most common method.
pip install --upgrade robotframework
+
+ # Upgrade to the latest version even if it would be a preview release.
+ pip install --upgrade --pre robotframework
+
+ # Upgrade to the specified version.
pip install robotframework==2.9.2
When using pip, it automatically uninstalls previous versions before
@@ -610,7 +653,7 @@ Framework 3.0, but the older versions support ``python -m robot.run``.
The latter must also be used with Python 2.6.
Post-processing outputs using the same approach works too, but the module to
-run is ``robot.rebot``:
+execute is ``robot.rebot``:
.. sourcecode:: bash
View
@@ -17,11 +17,12 @@ for creating test cases.
Robot Framework is operating system and application independent. The core
framework is implemented using `Python <http://python.org>`_, supports both
-Python 2 and Python 3, and runs also on `Jython <http://jython.org>`_ (JVM)
-and `IronPython <http://ironpython.net>`_ (.NET). The framework has a rich
-ecosystem around it consisting of various generic test libraries and tools
-that are developed as separate projects. For more information about Robot
-Framework and the ecosystem, see http://robotframework.org.
+Python 2 and Python 3, and runs also on `Jython <http://jython.org>`_ (JVM),
+`IronPython <http://ironpython.net>`_ (.NET) and `PyPy <http://pypy.org>`_.
+The framework has a rich ecosystem around it consisting of various generic
+test libraries and tools that are developed as separate projects. For more
+information about Robot Framework and the ecosystem, see
+http://robotframework.org.
Robot Framework project is hosted on GitHub_ where you can find source code,
an issue tracker, and some further documentation. See `<CONTRIBUTING.rst>`__
View
@@ -35,6 +35,7 @@
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: Jython
Programming Language :: Python :: Implementation :: IronPython
+Programming Language :: Python :: Implementation :: PyPy
Topic :: Software Development :: Testing
Framework :: Robot Framework
""".strip().splitlines()

0 comments on commit fb58c6c

Please sign in to comment.