|
From: Guenter M. <mi...@us...> - 2010-03-24 15:11:15
|
On 2010-03-24, Alan G Isaac wrote: > On 3/24/2010 5:25 AM, Guenter Milde wrote: >> The standard Python distutils allows specifying a dependency since >> version 2.5:http://docs.python.org/release/2.5/whatsnew/pep-314.html > > > Are you assuming the user has installed easy_install? > I'm going to guess most Windows users have not. So they have the choice to either install setuptools and from that on install Python modules and packages in an easy way, or to download and install the roman module from the pypi URL (which we, of course will give in the Documentation). This is one click and one command with distutils --- something we can expect from the user if it allows us to become norm-conforming. > And what if the user has some other roman.py? > (E.g., I think there's one by Jim Walsh floating around.) > Will distutils be able to handle that properly? Like our present "solution", distutils will not be able to differentiate between two python modules with the same name. If both were installed, it depends on their position in sys.path which one is used. If they are incompatible, this is of course bad. (This is why the LaTeX license forbids distributing modified versions under the same name.) However, modes/packages from pypi will be unique-named, only modules "from the wild" might pose problems here. Additionally, distutils has the feature to specify a minimal version requirement. This would be an advantage over the present workaround in setup.py which *could* help to differentiate between the "official" (i.e. published on pypi) module and some other equally named file. > I still do not understand why it appropriate to invoke > such a dependency mechanism for a single, small module > that can easily be packaged. Because this is the standard way. It is established and the way Python users will expect. Because I don't want to update a module that exists independent from Docutils. Because I don't want multiple instances on my system. Günter |