Quantcast
Channel: Planet Python
Viewing all articles
Browse latest Browse all 22462

Holger Peters: Using pyenv and tox

$
0
0

I usually use pyenv to manage my Python interpreters and obtain them in whatever version I need. Another tool I occasionally use is tox by Holger Krekel, which nicely generates build matrices for library and python interpreter versions, that come handy when you develop a library targeting multiple Python versions (and dependencies).

However, until recently I didn't know how to use the two of them together. With pyenv, I usually ended up with one python interpreter in my path, so tox had only one interpreter to choose from, and I was missing out on tox' selling point: testing your code over various versions of Python.

Install Multiple Python Version With Pyenv

Setting up your pyenv usually looks like this:

% pyenv install 3.5.1
% pyenv install 2.7.10
% cd my_project_dir
% pyenv local 3.5.1

Now it is possible to use multiple Python versions here:

% pyenv local 3.5.1 2.7.10
% python3.5 --version
Python 3.5.1
% python2.7 --version
Python 2.7.10

Then, tox can find interpreters, typically you will have a tox.ini in your project that starts with something like this:

[tox]envlist=py27,py34,py35skip_missing_interpreters=True[testenv]commands=py.testdeps=-rrequirements.txt

Invoking tox should now run tox with the two available Python versions, 2.7 and 3.5, skipping 3.4 unless it is installed.


Viewing all articles
Browse latest Browse all 22462

Trending Articles