Distribute 0.6 released
Hi all, I am pleased to announce the release of Distribute 0.6. Distribute is a friendly fork of the Setuptools project. You can get more info, download it and install it using the instructions from its PyPI page : http://pypi.python.org/pypi/distribute --- CHANGES (compared to setuptools 0.6c9) : setuptools * Packages required at build time where not fully present at install time. This closes http://bitbucket.org/tarek/distribute/issue/12. * Protected against failures in tarfile extraction. This closes http://bitbucket.org/tarek/distribute/issue/10. * Made Jython api_tests.txt doctest compatible. This closes http://bitbucket.org/tarek/distribute/issue/7. * sandbox.py replaced builtin type file with builtin function open. This closes http://bitbucket.org/tarek/distribute/issue/6. * Immediately close all file handles. This closes http://bitbucket.org/tarek/distribute/issue/3. * Added compatibility with Subversion 1.6. This references http://bitbucket.org/tarek/distribute/issue/1. pkg_resources * Avoid a call to /usr/bin/sw_vers on OSX and use the official platform API instead. Based on a patch from ronaldoussoren. This closes http://bitbucket.org/tarek/distribute/issue/5. * Fixed a SandboxViolation for mkdir that could occur in certain cases. This closes http://bitbucket.org/tarek/distribute/issue/13. * Allow to find_on_path on systems with tight permissions to fail gracefully. This closes http://bitbucket.org/tarek/distribute/issue/9. * Corrected inconsistency between documentation and code of add_entry. This closes http://bitbucket.org/tarek/distribute/issue/8. * Immediately close all file handles. This closes http://bitbucket.org/tarek/distribute/issue/3. easy_install * Immediately close all file handles. This closes http://bitbucket.org/tarek/distribute/issue/3. Cheers Tarek -- Tarek Ziadé | http://ziade.org
Hi Tarek, Tarek Ziadé wrote:
I am pleased to announce the release of Distribute 0.6.
Distribute is a friendly fork of the Setuptools project.
You can get more info, download it and install it using the instructions from its PyPI page : http://pypi.python.org/pypi/distribute
I've been working on a branch of zc.buildout that uses distribute instead of setuptools: http://svn.zope.org/zc.buildout/branches/use_distribute/ ...and I've hit a problem at the first hurdle. I've changed dev.py to use distribute, but by the time the subprocess call is made to setup.py, even though .../eggs/distribute-0.6-py2.6.egg is on PYTHONPATH, I get: File ".../setup.py", line 20, in <module> from distribute import setup, find_packages ImportError: No module named distribute I wonder if you could try out that branch and see if you can reproduce it? If you can, any hints as to what the problem might be would be great :-) cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
On Tue, Sep 8, 2009 at 12:04 PM, Chris Withers<chris@simplistix.co.uk> wrote:
Hi Tarek,
Hi Chris,
I've been working on a branch of zc.buildout that uses distribute instead of setuptools:
http://svn.zope.org/zc.buildout/branches/use_distribute/
...and I've hit a problem at the first hurdle. I've changed dev.py to use distribute, but by the time the subprocess call is made to setup.py, even though .../eggs/distribute-0.6-py2.6.egg is on PYTHONPATH, I get:
File ".../setup.py", line 20, in <module> from distribute import setup, find_packages ImportError: No module named distribute
The 0.6 version of Distribute does not contain any "distribute" package. It contains a "setuptools" packages. If you want to change zc.buildout in order to use distribute, you have to change the parts of zc.buildout that works with the "setuptools" *distribution* and change them so they work with the "distribute" *distribution* So the change doesn't really concerns zc.buildout code, but all of its bootstraping code This is basically what I have done in this version of the boostrap.py script: http://bitbucket.org/tarek/distribute/src/af557cf7dc1e/buildout/bootstrap.py It patches a few functions in zc.buildout that harcode the usage of setuptools distribution. Now, as Jim said last month, the best way would be to change zc.buildout so it uses any one of them (setuptools or distribute), by beaing able to configure this dependency instead of having it harcoded in the code. Now for the next version of distribute (0.7) the current default branch, it's another story : everything is being renamed so Distribute doesn't compete anymor with Setuptools namespace. Regards Tarek -- Tarek Ziadé | http://ziade.org | オープンソースの岩!
Tarek Ziadé wrote:
File ".../setup.py", line 20, in <module> from distribute import setup, find_packages ImportError: No module named distribute
The 0.6 version of Distribute does not contain any "distribute" package. It contains a "setuptools" packages.
Ah yes, I remember now...
Now, as Jim said last month, the best way would be to change zc.buildout so it uses any one of them (setuptools or distribute), by beaing able to configure this dependency instead of having it harcoded in the code.
This just seems like extra work for no reason...
Now for the next version of distribute (0.7) the current default branch, it's another story : everything is being renamed so Distribute doesn't compete anymor with Setuptools namespace.
I predict uptake of this version will be even slower than that of 0.6, which seems pretty slow... It's just such a shame PJE is so stubborn about doing a usable release of setuptools... Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
Tarek Ziadé wrote:
I've been working on a branch of zc.buildout that uses distribute instead of setuptools:
Okay, I now have all but a couple of tests passing on this branch, with all the changes from the trunk merged in as of a few hours ago... The test failures are a bit weird though: File "...src/zc/buildout/bootstrap.txt", line 23, in bootstrap.txt Failed example: print 'X'; print system( zc.buildout.easy_install._safe_arg(sys.executable)+' '+ 'bootstrap.py'); print 'X' # doctest: +ELLIPSIS ... Traceback (most recent call last): File "bootstrap.py", line 87, in <module> ws.require('zc.buildout' + VERSION) File ".../distribute-0.6-py2.6.egg/pkg_resources.py", line 621, in require File ".../distribute-0.6-py2.6.egg/pkg_resources.py", line 519, in resolve pkg_resources.DistributionNotFound: setuptools <BLANKLINE> I can't find where setuptools is being required, any ideas? The other one seems to be a difference in how buildout signatures are generated: File "zc.buildout_co/zc.recipe.egg_/src/zc/recipe/egg/api.txt", line 97, in api.txt Failed example: cat(sample_buildout, '.installed.cfg') Expected: ... __buildout_signature__ = sample-6aWMvV2EJ9Ijq+bR8ugArQ== zc.recipe.egg-cAsnudgkduAa/Fd+WJIM6Q== distribute-0.6-py2.4.egg zc.buildout-+rYeCcmFuD1K/aB77XTj5A== ... Got: ... __buildout_signature__ = sample-lpbdfaUB6wBah/5eldWn2w== zc.recipe.egg-EkSb+I3tVPPzlm3QwumIDA== distribute-0.6-py2.6.egg zc.buildout-mUvpjgUjaaBCXzejndcJIA== ... Again, I'm open to suggestions as to why distribute appears to cause the line endings to vanish in __buildout_signature__? I'm also curious: do these signatures change with each new version of rc.recipe.egg and distribute get released? cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
On Tue, Sep 8, 2009 at 3:49 PM, Chris Withers<chris@simplistix.co.uk> wrote:
Tarek Ziadé wrote:
I've been working on a branch of zc.buildout that uses distribute instead of setuptools:
Okay, I now have all but a couple of tests passing on this branch, with all the changes from the trunk merged in as of a few hours ago...
The test failures are a bit weird though:
File "...src/zc/buildout/bootstrap.txt", line 23, in bootstrap.txt Failed example: print 'X'; print system( zc.buildout.easy_install._safe_arg(sys.executable)+' '+ 'bootstrap.py'); print 'X' # doctest: +ELLIPSIS ... Traceback (most recent call last): File "bootstrap.py", line 87, in <module> ws.require('zc.buildout' + VERSION) File ".../distribute-0.6-py2.6.egg/pkg_resources.py", line 621, in require File ".../distribute-0.6-py2.6.egg/pkg_resources.py", line 519, in resolve pkg_resources.DistributionNotFound: setuptools <BLANKLINE>
I can't find where setuptools is being required, any ideas?
This is probably zc.buildout setup.py script because it contains "install_requires = 'setuptools'," That's why you need to install Distribute using distribute_setup.py for instance, so it fakes setuptools presence for all packages that contains this requirement. -- Tarek Ziadé | http://ziade.org | オープンソースの岩!
Tarek Ziadé wrote:
This is probably zc.buildout setup.py script because it contains "install_requires = 'setuptools',"
Not on my branch it doesn't...
That's why you need to install Distribute using distribute_setup.py for instance,
Which my branch does... My be worth taking a look at the code ;-) http://svn.zope.org/zc.buildout/branches/use_distribute/ cheers, Chris -- Simplistix - Content Management, Batch Processing & Python Consulting - http://www.simplistix.co.uk
On Tue, Sep 8, 2009 at 4:01 PM, Chris Withers<chris@simplistix.co.uk> wrote:
Tarek Ziadé wrote:
This is probably zc.buildout setup.py script because it contains "install_requires = 'setuptools',"
Not on my branch it doesn't...
That's why you need to install Distribute using distribute_setup.py for instance,
Which my branch does... My be worth taking a look at the code ;-)
Your traceback suggests something requires setuptools. You migh want to put some logs in pkg_resources.resolve also, make sure Distribute was properly installed: you should have a "setuptools*.egg-info" directory besides Distribute.
participants (2)
-
Chris Withers
-
Tarek Ziadé