[Distutils] [Python-Dev] PEP 365 (Adding the pkg_resources module)
zooko
zooko at zooko.com
Fri Mar 21 01:48:24 CET 2008
On Mar 20, 2008, at 7:44 AM, Tres Seaver wrote:
> Paul Moore wrote:
>> 4. Hard to use with limited connectivity. At work, I *only* have
>> access to the internet via Internet Explorer (MS based proxy). There
>> are workarounds, but ultimately "download an installer, then run it"
>> is a far simpler approach for me.
>
> I don't know how to make this requirement compatible with using shared
> dependencies,
We've done something like this.
The http://allmydata.org project bundles its easy_installable
dependencies. If you get the current trunk from our darcs repository
[1], or get a release tarball or a snapshot tarball from [2], then it
comes with a directory named "misc/dependencies" which has the source
tarballs of our easy_installable dependencies. You can browse this
directory on the web: [3].
Therefore, if you manually satisfy the non-easy_installable
dependencies, you can download an allmydata.org tarball, disconnect
from the Internet (which we call "moving to a Desert Island"), and
install it.
This is, as you say, "compatible with using shared dependencies"
because setuptools will detect if you already have sufficiently new
versions of some of these dependencies installed (for example, if
they are installed in Debian packages), and then skip the step of
installing that dependency from its source tarball.
The remaining dependencies that cannot be satisfied automatically by
our setup.py are listed in the install.html [4]. They are:
1. g++ >= v3.3 -- the Cygwin version of gcc/g++ works for Cygwin
and for Windows
2. GNU make
3. Python >= v2.4.2 including development headers i.e. "Python.h"
4. Twisted >= v2.4.0 -- from the Twisted "sumo" source tarball
5. OpenSSL >= v0.9.7, including development headers
6. PyOpenSSL == v0.6
7. Crypto++ >= v5.2.1, including development headers
I am hoping that in the future Twisted (see twisted #1286 [5]) and
pyOpenSSL will be easy_installable, and that our use of setuptools
plugins will eventually replace our GNUmakefile and thus remove our
dependency on GNUmake. That will leave only g++, Python, OpenSSL,
and Crypto++ as dependencies that a user has to manually deal with in
order to build allmydata.org from source.
Regards,
Zooko
[1] http://allmydata.org/source/tahoe/trunk/
[2] http://allmydata.org/source/tahoe/tarballs/
[3] http://allmydata.org/trac/tahoe/browser/misc/dependencies
[4] http://allmydata.org/source/tahoe/trunk/docs/install.html
[5] http://twistedmatrix.com/trac/ticket/1286
More information about the Distutils-SIG
mailing list