Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

python

tox

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!

like image 915
joshvillbrandt Avatar asked Oct 31 '22 13:10

joshvillbrandt


1 Answers

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.

like image 138
Louis Avatar answered Nov 14 '22 03:11

Louis