On Wed, 1 Jul 2009 05:19:07 am Tarek Ziadé wrote:
2009/6/30 Guido van Rossum firstname.lastname@example.org:
So what *is* the distutils-sig consensus?
The consensus is to have one and only one way to install distributions in Python,
"One and only one way"? Shouldn't that be "one obvious way"?
There is a big difference -- the first implies that Python should actively prohibit (somehow!) or at least inhibit any other install mechanisms, while the second implies that there should be a preferred, obvious, but not compulsory, mechanism.
If you say "one and only one", and I take you at your word, then I can only assume that you want to actively prevent me from manually dropping .py files into my PYTHONPATH and having them work. I would guess that's probably not what you mean, but that's what it sounds like you're proposing. I don't like guessing -- would you please clarify what you mean?
Some questions and comments regarding the PEP:
"There are too many ways to do it."
Why is having multiple ways of adding distributions a problem to be solved? On my Linux system, I can add packages with rpm/yum, or I can compile them from source and manage them myself. I possibly even could (but never have!) install apt-get and use it to manage packages.
Another rationale which should be added:
There is no standard way of uninstalling distributions.
How distributions are installed: http://www.python.org/dev/peps/pep-0376/#id14
"The problem is that many people use easy_install (from the setuptools project ) or pip  to install their packages, and these third-party tools do not install packages in the same way that Distutils does"
Why is that a problem to be solved?
Uninstall information: http://www.python.org/dev/peps/pep-0376/#id15
"Under some circumstances, you might not be able to know for sure that you have removed everything, or that you didn't break another distribution by removing a file that is shared among several distributions."
I don't see how this proposal will help in the second case. If you install distribution Spam, containing file spam.py, and then install distribution Ham, which requires spam.py, what is to prevent you from removing Spam and breaking Ham?
If you don't propose a solution for the dependency problem, you should say so.
The RECORD format: http://www.python.org/dev/peps/pep-0376/#id19
"Each record is composed of three elements. ... the MD5 hash of the file, encoded in hex. Notice that pyc and pyo generated files will not have a hash because they are automatically produced from py files."
What if your distribution is not a source distribution and only provides pyc and pyo files?