PyPI Pyckage name: "py", see PyPI project page for latest version
Installers: easy_install and pip, setuptools or Distribute
Pythons: 2.4, 2.5, 2.6, 3.0, 3.1, Jython-2.5.1, PyPy-1.1
Operating systems: Linux, Windows and OSX + probably many others
It is recommended to work with virtual environments (e.g. virtualenv or buildout based) and use easy_install (or pip) for installing py.test/pylib and any dependencies you need to run your tests. Local virtual Python environments (as opposed to system-wide "global" environments) make for a more reproducible and reliable test environment.
Note: as of November 2009 pytest/pylib 1.1 RPMs and DEB packages are not available. If you want to easy_install the newest py.test and pylib do everyone a favour and uninstall older versions from the global system e.g. like this on Ubuntu:
sudo apt-get remove --purge python-codespeak-lib
Both Distribute and setuptools provide the easy_install installation tool. While setuptools should work ok with Python2 interpreters, Distribute also works with Python3 and it avoids some issues on Windows. In both cases you can open a command line window and then type:
easy_install -U py
to install the latest release of the py lib and py.test. The -U switch will trigger an upgrade if you already have an older version installed.
If you now type:
py.test --version
you should see the version number and the import location of the tool. Maybe you want to head on with the quickstart now?
On Linux: If easy_install fails because it needs to run as the superuser you are trying to install things globally and need to put sudo in front of the command.
On Windows: If "easy_install" or "py.test" are not found please see here: How do i run a Python program under Windows?
To follow development or start experiments, checkout the complete code and documentation source with mercurial:
hg clone https://bitbucket.org/hpk42/py-trunk/
Development usually takes place on the 'trunk' branch.
You can also go to the python package index and download and unpack a TAR file:
http://pypi.python.org/pypi/py/
With a working Distribute or setuptools installation you can type:
python setup.py develop
in order to work inline with the tools and the lib of your checkout.
Once you got yourself a checkout or tarball it is usually a good idea to add the parent directory of the py package directory to your PYTHONPATH and py/bin or py\bin\win32 to your system wide PATH settings. There are helper scripts that set PYTHONPATH and PATH on your system:
on windows execute:
# inside autoexec.bat or shell startup c:\\path\to\checkout\bin\env.cmd
on linux/OSX add this to your shell initialization:
# inside .bashrc eval `python ~/path/to/checkout/bin/env.py`
both of which which will get you good settings for PYTHONPATH and PATH.
If you install py.test this way you can easily hg pull && hg up your checkout to follow the development tree.
Note that all command line scripts will look for "nearby" py libs, so if you have a layout like this:
mypkg/ subpkg1/ tests/ tests/ py/
issuing py.test subpkg1 will use the py lib from that projects root directory. Giving the state of Python packaging there can be confusion in which case issuing:
py.test --version
tells you both version and import location of the tool.