Re: [Distutils] The problem with Setuptools on Python 3.
At 07:13 PM 4/20/2009 +0200, Lennart Regebro wrote:
Which still doesn't really answer the question: Why setuptools need to rely on setuptools.
Because there's less duplication and chances of error that way. (Earlier versions of setuptools relied on manually-created text files, instead of using egg_info to generate them, and creating/maintaining the files was a pain.)
Because distutils doesn't have an egg_info command
I've already mentioned that getting rid of the setuptools dependency on itself means you can't build setuptools eggs. But I've also pointed out that I don't understand why they would be needed.
Because the egg-info files (irrespective of whether you build an sdist, an .egg, an .exe, or even install a "flat" package) contain information like entry points and requirements. In the case of setuptools itself, the entry points are critical because setuptools finds its own commands, options, etc., almost exclusively by using entry points. This is so that it's on a level playing field with other packages wanting to extend those features, and serves as an example of how to extend itself. Look, if you want to fork setuptools to not depend on itself, knock yourself out. I sure can't stop you. It's simply that, from my POV, I'd rather not complicate the main branches with duplication to support Python 3, when ISTM that the Python-3-support bits could be isolated instead. Also, I think that setuptools self-bootstrapping is both a non-trivial integration test that shouldn't be dropped, AND a non-trivial example of how to extend setuptools (since so much of it is implemented using independent entry points rather than hardwired behavior). All that having been said, I'm not the one doing the port, so do what you think best.
For all other packages it's recommended that only source distributions are done unless you have c-extensions.
Recommended by whom, for what purpose?
Why is setuptools an exception?
For end-user convenience. A large number of people installing setuptools are not installing it because they are personally interested in it, but because something else they want uses it.
On Mon, Apr 20, 2009 at 21:01, P.J. Eby <pje@telecommunity.com> wrote:
Look, if you want to fork setuptools to not depend on itself, knock yourself out. I sure can't stop you.
Well, unless somebody can come up with an alternative... But I have to say I'm extremely reluctant to do so. And I think that my action instead will be to abandon all further efforts of porting things to Python 3. This is too much pain, takes to much time and doesn't lead anywhere. I have since July wanted to port the zope.component architecture to Python 3. I've put down weeks of work on it. Almost *all* that work has been related to setuptools.
It's simply that, from my POV, I'd rather not complicate the main branches with duplication to support Python 3, when ISTM that the Python-3-support bits could be isolated instead.
"Isolated"? What do you mean? If you have suggestions on how to solve the problems I'm describing, can you please come forward with them, I've asked several times already. All you do is say "no, no, no, no, no", and "becasue". It isn't helpful.
All that having been said, I'm not the one doing the port, so do what you think best.
No, because although you aren't the one doing the port, you still are the main setuptools maintainer, and this will need to merged. Soon. As I mentioned above, the fact that setuptools doesn't have good Python 3 support is a major hindrance for Python 3 acceptance.
For all other packages it's recommended that only source distributions are done unless you have c-extensions.
Recommended by whom, for what purpose?
Everybody, for all purposes.
For end-user convenience. A large number of people installing setuptools are not installing it because they are personally interested in it, but because something else they want uses it.
Yes? And again you don't explain how this leads to you conclusion. Eggs are not easier to install, on the contrary, I have tried and failed a couple of times, and ended up using the source install instead. It's easy to install. You download, unpack, run python setup.py install, like any other package. -- Lennart Regebro: Python, Zope, Plone, Grok http://regebro.wordpress.com/ +33 661 58 14 64
participants (2)
-
Lennart Regebro
-
P.J. Eby