Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tox installs the wrong version of pip to it's virtual env

I am using tox to manage some testing environments. I have a dependency (backports.ssl-match-hostname) that I cannot download using the latest version of pip, so I need to revert back to pip 8.0.3 to allow the install to work.

I have included the 8.0.3 version of pip inside my tox.ini file for dependencies.

deps=
    pip==8.0.3

However, when I run

source .tox/py27/bin/activate

and enter the virtual testing environment, and then run

pip --version

I end up with

8.1.2

However, outside of my tox environment, when I run the same command, I get

8.0.3

Is there anything special that tox does when grabbing pip? Why am I not able to specify the version of pip that I want to use as a dependency?

EDIT : to add to this, it seems as though I am able to grab the dependency pip==8.0.3, but for the other dependencies, they are still running from the command launched with pip==8.1.2

So, I need to be able to grab pip==8.0.3 first, and then once installed, grab everything else. Still unsure why tox is starting with pip==8.1.2

like image 526
Zack Avatar asked Jun 30 '16 16:06

Zack


1 Answers

This was apparently the result of the "virtualenvs" python package containing a pre-selected group of python packages that it refers to, one of which was the latest and greatest pip.

I don't know if this is the preferred way of doing this, but I found success by running

pip uninstall virtualenv

And then reinstalling with the version that worked

pip install virtualenv==15.0.1

With the "correct" version of virtualenv in place, I was able to run my tox command

source .tox/py27/bin/activate

and see the desired version of pip

pip --version
pip 8.0.3
like image 161
Zack Avatar answered Sep 23 '22 11:09

Zack