[Distutils] Distribute bootstrap question
Doug Hellmann
doug.hellmann at gmail.com
Mon Jan 18 14:44:51 CET 2010
I just released my first new piece of software using Distribute, and
I'm still confused about whether I have the packaging correct. I
think not, because a user has reported receiving a SandboxViolation
error when trying to install the package with easy_install (bug report
at: http://bitbucket.org/dhellmann/ical2org/issue/1/unable-to-install-ical2org-with)
. The relevant portion of the error message seems to be:
Searching for distribute
Reading http://pypi.python.org/simple/distribute/
Reading http://packages.python.org/distribute
Best match: distribute 0.6.10
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz#md5
=99fb4b3e4ef0861bba11aa1905e89fed
Processing distribute-0.6.10.tar.gz
Running distribute-0.6.10/setup.py -q bdist_egg --dist-dir /tmp/
easy_install-aO9HwB/distribute-0.6.10/egg-dist-tmp-woULY8
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /System/Library/Frameworks/
Python.framework/Versions/2.5/Extras/lib/python
Non-egg installation
Removing elements out of the way...
Renaming /System/Library/Frameworks/Python.framework/Versions/2.5/
Extras/lib/python/setuptools-0.6c7-py2.5.egg-info into /System/Library/
Frameworks/Python.framework/Versions/2.5/Extras/lib/python/
setuptools-0.6c7-py2.5.egg-info.OLD.1263800301.89
error: SandboxViolation: mkdir('/System/Library/Frameworks/
Python.framework/Versions/2.5/Extras/lib/python/setuptools-0.6c7-
py2.5.egg-info',) {}
That looks like the script is trying to install Distribute itself,
based I suppose on having it in the install_requires list in my
setup.py. I added distribute to install_requires after on an apparent
misreading of the instructions on http://pypi.python.org/pypi/
distribute.
So, my questions:
1. While researching the problem this morning, I came across the
instructions at http://packages.python.org/distribute/setuptools.html#using-setuptools-without-bundling-it
, which seem like a much more sensible way to bootstrap the
installation of Distribute than install_requires. Should I have used
that instead of install_requires?
2. If I don't require Distribute for installation, will my package
work with the older setuptools (assuming I'm not using any Distribute-
specific features, which I don't think I am, but I'm not sure I know
what those are). In a nutshell, do I need to force my user to install
Distribute at all before using my package? And if so, what is the
preferred way of doing that?
Thanks,
Doug
More information about the Distutils-SIG
mailing list