Pytest and Python 3

Joe Abbate picture Joe Abbate · Jan 17, 2013 · Viewed 49.1k times · Source

I've installed pytest 2.3.4 under Debian Linux. By default it runs under Python 2.7, but sometimes I'd like to run it under Python 3.x, which is also installed. I can't seem to find any instructions on how to do that.

The PyPI Trove classifiers show Python :: 3 so presumably it must be possible. Aside from py.test somedir/sometest.py, I can use python -m pytest ..., or even python2.7 -m pytest ..., but if I try python3 -m pytest ... I get

/usr/bin/python3: No module named pytest

Answer

Joe Abbate picture Joe Abbate · Jan 17, 2013

I found a workaround:

  1. Installed python3-pip using aptitude, which created /usr/bin/pip-3.2.
  2. Next pip-3.2 install pytest which re-installed pytest, but under a python3.2 path.
  3. Then I was able to use python3 -m pytest somedir/sometest.py.

Not as convenient as running py.test directly, but workable.