stopping setup.py from installing as egg

jldupont picture jldupont · Jun 10, 2011 · Viewed 17.2k times · Source

How do I stop setup.py from installing a package as an egg? Or even better, how do I easy_install from installing a package as an egg?

sudo python setup.py install

The reason being that PyDev is rather picky about packages in egg format... The package I am interested in at the moment is boto.

Update: I found the brute force way of doing it:

sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg

Answer

xolox picture xolox · Nov 18, 2015

Solution 1:

I feel like I'm missing something subtle or important (encountering this page years after the question was asked and not finding a satisfying answer) however the following works fine for me:

python setup.py install --single-version-externally-managed --root=/

Compressed *.egg files are an invention of setuptools (I'm not a big fan of them although I understand why they were created) and because the setup.py script is using (and may require) setuptools, the package ends up being installed as a compressed *.egg file.

Solution 2:

The command line options above are similar to those used by pip (the Python package manager) which hints at another way to stop a package from being installed as a compressed *.egg file: Just use pip! If you have a directory containing a setup.py script you can run the following command in that directory to install the package using pip:

pip install .

This is an improvement over the setup.py command above because it tracks additional metadata (e.g. tracking of installed files allows for more reliable removal).