How can I prevent tox from producing a bunch of .egg directories?

720 views Asked by At

Whenever I run tox, my repository's directory gets trashed with .egg directories. These are obviously the required dependencies for my library which needs to install in each of the virtual environments, but I don't want to see them. I'm not sure why they don't go under the .tox directory...

I haven't seen any tips on this around the 'net, so my questions are:

  • Is there a way to prevent these directories from showing up in the first place?
  • If not, is there an easy (automated) way to clean up all of those directories after running tox?

Here is an example of one of my Python libraries that has this problem: https://github.com/joshvillbrandt/goprohero

Thanks for your help!

1

There are 1 answers

0
Louis On BEST ANSWER

tl;dr: Upgrade setuptools to a recent version and all those directories will be created in a single .eggs directory instead of the root of your project. (Probably greater than 7.0 is sufficient.)

Long Story

I ran into the same issue after recently moving from running tox with Python 2.7 to running it with Python 3.4. A Google search revealed this tox.ini which contains this dependency specification:

 setuptools>=7.0  # to avoid .egg directories

With 2.7 I do not recall ever having to fight with .egg directories. I checked what version of setuptools I had in my 2.7 installation and found 14.3. I checked what I had in my 3.4 installation and found 5.5.1 (yikes!). After upgrading to 14.3 in my 3.4 installation, the only thing I get is a single .eggs directory that contains all the directories that would otherwise all be in the root of my project.

I can live with a single .eggs directory.