From: Alan G I. <ai...@am...> - 2010-03-23 14:35:31
|
> Someone wrote: >> I think docutils should never include roman but require it as a dependency. On 3/23/2010 7:41 AM, Guenter Milde wrote: > Agreed. This would also make the setup.py file simpler. This is going to be a nasty shock to many new users, especially Windows users. roman.py is released under http://www.python.org/2.1.1/license.html Remind me why it cannot just be put in docutils? Is it policy that all of docutils be "public domain" (whatever that exactly means), so that even the PSF license is unacceptable? Alan Isaac |
From: David G. <go...@py...> - 2010-03-23 15:38:21
|
On Tue, Mar 23, 2010 at 10:35, Alan G Isaac <ai...@am...> wrote: >> Someone wrote: >>> I think docutils should never include roman but require it as a dependency. > > On 3/23/2010 7:41 AM, Guenter Milde wrote: >> Agreed. This would also make the setup.py file simpler. > > This is going to be a nasty shock to many new users, > especially Windows users. Why? Please explain (I don't understand what you're saying). > roman.py is released under > http://www.python.org/2.1.1/license.html > Remind me why it cannot just be put in docutils? > Is it policy that all of docutils be "public domain" > (whatever that exactly means), so that even the PSF > license is unacceptable? roman.py is distributed with Docutils. It is not part of the docutils package because - it is a 3rd-party module (a dependency) - I thought it should be separate and generally available (as "import roman", not buried as "import docutils.roman") - it is released under different terms from the rest of Docutils, so physically separating it makes sense An indeed, as was stated earlier, when I first wrote setup.py to conditionally install roman.py, there was no built-in dependency mechanism. If such a mechanism exists now (for all supported versions of Python!), then we can use it. Does it? Anyone interested in improving the situation, please do the legwork. -- David Goodger <http://python.net/~goodger> |
From: Alan G I. <ai...@am...> - 2010-03-23 15:46:40
|
On 3/23/2010 11:38 AM, David Goodger wrote: > roman.py is distributed with Docutils. Yes, I thought Guenter was proposing to end this. (He was responding to a message that emphasized that it was available on pypi.) If it is not being proposed that the user be responsible for installing roman.py, then my response was mistaken. Sorry if I misunderstood. Alan |
From: Guenter M. <mi...@us...> - 2010-03-24 09:25:34
|
On 2010-03-23, David Goodger wrote: > On Tue, Mar 23, 2010 at 10:35, Alan G Isaac <ai...@am...> wrote: >>> Someone wrote: >>>> I think docutils should never include roman but require it as a >>>> dependency. >> On 3/23/2010 7:41 AM, Guenter Milde wrote: >>> Agreed. This would also make the setup.py file simpler. ... > An indeed, as was stated earlier, when I first wrote setup.py to > conditionally install roman.py, there was no built-in dependency > mechanism. If such a mechanism exists now (for all supported versions > of Python!), then we can use it. Does it? The standard Python distutils allows specifying a dependency since version 2.5: http://docs.python.org/release/2.5/whatsnew/pep-314.html The non-standard setuptools package (`easy_install`) will automatically download and install requirements. http://pypi.python.org/pypi/setuptools > Anyone interested in improving the situation, please do the legwork. Should we postpone this bug untils the minimal requirement is 2.5 then? Günter |
From: David G. <go...@py...> - 2010-03-24 12:48:32
|
On Wed, Mar 24, 2010 at 05:25, Guenter Milde <mi...@us...> wrote: > On 2010-03-23, David Goodger wrote: >> An indeed, as was stated earlier, when I first wrote setup.py to >> conditionally install roman.py, there was no built-in dependency >> mechanism. If such a mechanism exists now (for all supported versions >> of Python!), then we can use it. Does it? > > The standard Python distutils allows specifying a dependency since > version 2.5: http://docs.python.org/release/2.5/whatsnew/pep-314.html > > The non-standard setuptools package (`easy_install`) will automatically > download and install requirements. http://pypi.python.org/pypi/setuptools > >> Anyone interested in improving the situation, please do the legwork. > > Should we postpone this bug untils the minimal requirement is 2.5 then? Yes, I think so. I don't see any alternative. -- David Goodger <http://python.net/~goodger> |
From: Alan G I. <ai...@am...> - 2010-03-24 13:44:27
|
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. 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? (These are real not rhetorical questions.) I still do not understand why it appropriate to invoke such a dependency mechanism for a single, small module that can easily be packaged. Isn't there some way for it to go in the docutils namespace to avoid potential conflicts? The licensing issue seems manageable: just put it in docutils/notpublicdomain/psf/roman.py Alan |
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 |
From: Craig M. <ce...@mc...> - 2010-04-09 04:40:22
|
I downloaded a snapshot yesterday, and tried to install it with python setup.py install I get a traceback: File "...\setup.py", line 93, in do_setup kwargs['py_modules'] += extras KeyError: 'py_modules' I'm guessing this is a problem related to recent work to handle the 'roman' dependency. It simply doesn't work if the 'roman' module isn't already installed. Am I right, or am I missing something? Thanks and regards, Craig McQueen |
From: David G. <go...@py...> - 2010-04-09 12:52:34
|
On Fri, Apr 9, 2010 at 00:26, Craig McQueen <ce...@mc...> wrote: > I downloaded a snapshot yesterday, and tried to install it with > > python setup.py install > > I get a traceback: > > File "...\setup.py", line 93, in do_setup > kwargs['py_modules'] += extras > KeyError: 'py_modules' > > I'm guessing this is a problem related to recent work to handle the 'roman' > dependency. It simply doesn't work if the 'roman' module isn't already installed. > > Am I right, or am I missing something? Thanks for the bug report! It actually seems to stem directly from r6267 (by Günter Milde), when package_data['py_modules'] was removed. This revision was related to the developer tools (buildhtml.py & quicktest.py) and Python 3 conversion. The roman.py issue you reported seems to be a side-effect. Günter, could you fix this? -- David Goodger <http://python.net/~goodger> |
From: David G. <go...@py...> - 2010-04-09 12:54:57
|
On Fri, Apr 9, 2010 at 08:52, David Goodger <go...@py...> wrote: > On Fri, Apr 9, 2010 at 00:26, Craig McQueen <ce...@mc...> wrote: >> I downloaded a snapshot yesterday, and tried to install it with >> >> python setup.py install >> >> I get a traceback: >> >> File "...\setup.py", line 93, in do_setup >> kwargs['py_modules'] += extras >> KeyError: 'py_modules' >> >> I'm guessing this is a problem related to recent work to handle the 'roman' >> dependency. It simply doesn't work if the 'roman' module isn't already installed. >> >> Am I right, or am I missing something? > > Thanks for the bug report! > > It actually seems to stem directly from r6267 (by Günter Milde), when > package_data['py_modules'] was removed. This revision was related to > the developer tools (buildhtml.py & quicktest.py) and Python 3 > conversion. The roman.py issue you reported seems to be a side-effect. Also r6262, where this change was made to setup.py: - kwargs['py_modules'] = extras + kwargs['py_modules'] += extras It probably should have been reverted in r6267. > Günter, could you fix this? -- David Goodger <http://python.net/~goodger> |