[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2020-03-04 Thread Marco Sulla
Marco Sulla added the comment: This is IMHO broken. 1. _ensure_list() allows strings, because, documentation says, they are split in finalize_options(). But finalize_options() does only split keywords and platforms. It does _not_ split classifiers. 2. there's no need that keywords,

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-05 Thread Neil Schemenauer
Change by Neil Schemenauer : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-04 Thread Berker Peksag
Berker Peksag added the comment: Thank you for fixing this, Neil. Can we close this issue now? -- priority: release blocker -> normal ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-04 Thread Neil Schemenauer
Neil Schemenauer added the comment: New changeset 8837dd092fe5ad5184889104e8036811ed839f98 by Neil Schemenauer in branch 'master': bpo-19610: Warn if distutils is provided something other than a list to some fields (#4685)

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-04 Thread Neil Schemenauer
Neil Schemenauer added the comment: Don't be sorry. We are all passionate about making Python better. distutils will be better once we gets this sorted out. Berker deserves credit for seeing an issue and developing on a fix for it. The collaboration between all the

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-04 Thread STINNER Victor
Change by STINNER Victor : -- nosy: -vstinner ___ Python tracker ___ ___

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-03 Thread Éric Araujo
Éric Araujo added the comment: I am sorry this snowballed. The intent in my messages here and in my PR review was to exchange a late, unfriendly traceback with a clear, early message, but only for package authors. I forgot that a Python 3.7 could execute an invalid

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-03 Thread Nick Coghlan
Nick Coghlan added the comment: Prohibiting strings and bytes on the grounds of "Yes they're iterable, but are more likely intended as atomic here, so treat them as ambiguous and refuse to guess" would be fine. (Although I'll also note the classifier case will already

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-03 Thread Antoine Pitrou
Antoine Pitrou added the comment: Le 03/12/2017 à 05:57, Neil Schemenauer a écrit : > > I like Nick's idea of calling list() to fix the argument. I don't think that's a good idea. Suppose someone is passing a string by mistake: setup(..., classifiers='Programming

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Perhaps it is worth to backport warnings to 2.7 in Py3k mode. This could help to detect some issues earlier. In 3.6 fields could be converted to lists silently, without warnings. --

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Neil Schemenauer
Neil Schemenauer added the comment: I like Nick's idea of calling list() to fix the argument. I've created a PR that implements it. I also generate a RuntimeWarning since if we document them as needing to be lists, we should at least warn for invalid types. The

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Neil Schemenauer
Change by Neil Schemenauer : -- pull_requests: +4598 stage: resolved -> patch review ___ Python tracker ___

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Nick Coghlan
Nick Coghlan added the comment: I'd prefer to see this change go in the other direction: instead of enforcing eager type checks, we should be unconditionally wrapping the given values in a "list(arg)" call, such that more typical iterable duck-typing behaviour applies.

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Neil Schemenauer
Neil Schemenauer added the comment: > Thank you, but I don't need a lecture from you. Feel free to propose our > solution in the form of pull request instead of acting like a project manager > and telling people what to do. I'm sorry you are offended. My pull request

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Berker Peksag
Berker Peksag added the comment: > Filed a bug https://github.com/simplejson/simplejson/issues/198 for > simplejson. I've opened https://github.com/simplejson/simplejson/pull/197 to make CLASSIFIERS a list. I've also opened https://github.com/ianare/exif-py/pull/80

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Neil Schemenauer
Neil Schemenauer added the comment: > Classifiers were always documented as lists (msg214915) and passing a > non-list type was raised a cryptic exception message as already reported in > my first message That doesn't matter. You can't break a bunch of packages in a

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Filed a bug https://github.com/simplejson/simplejson/issues/198 for simplejson. -- ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: In simplejson classifiers is a result of filter(). This is a list in Python 2 and an iterator in Python 3. It can be uploaded using Python 2. -- ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Ned Deily
Change by Ned Deily : -- nosy: +ncoghlan ___ Python tracker ___ ___ Python-bugs-list

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Berker Peksag
Berker Peksag added the comment: (Sorry, I messed up fields in the issue.) -- nosy: +ned.deily priority: normal -> release blocker ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Berker Peksag
Berker Peksag added the comment: Classifiers were always documented as lists (msg214915) and passing a non-list type was raised a cryptic exception message as already reported in my first message, https://github.com/pypa/setuptools/issues/1163 and

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Neil Schemenauer
Neil Schemenauer added the comment: I tried building the top packages from python3wos.appspot.com. Only simplejson-3.13.2.tar.gz fails to build due to this change. However, given that it is the top downloaded module, I think think making a change to Python that

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-12-02 Thread Neil Schemenauer
Neil Schemenauer added the comment: I don't see a good reason to add this check. I would guess there could be lots of 3rd party packages that are no uninstallable on Python 3.7. E.g. python3 -m pip install exifread ... TypeError: 'classifiers' should be a 'list',

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-23 Thread Berker Peksag
Berker Peksag added the comment: New changeset dcaed6b2d954786eb5369ec2e8dfdeefe3cdc6ae by Berker Peksag in branch 'master': bpo-19610: setup() now raises TypeError for invalid types (GH-4519)

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-23 Thread Berker Peksag
Change by Berker Peksag : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-23 Thread Berker Peksag
Berker Peksag added the comment: Éric and Henk-Jaap: I've now opened PR 4519. -- ___ Python tracker ___

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-23 Thread Berker Peksag
Change by Berker Peksag : -- pull_requests: +4456 ___ Python tracker ___ ___

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-22 Thread Berker Peksag
Berker Peksag added the comment: Thanks for the ping and for the review! I will open a PR this week. -- versions: -Python 3.6 ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-22 Thread Éric Araujo
Éric Araujo added the comment: Latest patch seems good. Berker, would you have the time to adapt for 3.7 and submit as a PR? -- ___ Python tracker

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2017-11-22 Thread Henk-Jaap Wagenaar
Henk-Jaap Wagenaar added the comment: This is still present, and also silently affects Python 2.7 as evidenced here: https://github.com/pypa/setuptools/issues/1163 I am happy to adapt Berker Peksags patch to a PR, if he is? -- nosy: +Henk-Jaap Wagenaar

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2015-05-12 Thread Berker Peksag
Berker Peksag added the comment: Éric, could you please take a look at issue19610_v4.diff? I'd like to commit the patch this weekend. Thanks! -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19610

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2015-04-08 Thread Berker Peksag
Berker Peksag added the comment: Thanks for the review, Éric. New patch attached. When running a setup.py that uses a tuple for classifiers, is the error message in the terminal user-friendly, or do we get a full traceback? A full traceback: Traceback (most recent call last): File

[issue19610] Give clear error messages for invalid types used for setup.py params (e.g. tuple for classifiers)

2015-04-02 Thread Éric Araujo
Éric Araujo added the comment: Thanks, reviewed. When running a setup.py that uses a tuple for classifiers, is the error message in the terminal user-friendly, or do we get a full traceback? -- title: setup.py does not allow a tuple for classifiers - Give clear error messages for