Issue 29895: Distutils blows up with an incorrect pypirc, should be caught (original) (raw)

Issue29895

Created on 2017-03-24 14:24 by Tommy Carpenter, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
issue29895_test.diff berker.peksag,2017-05-14 06:33 review
Messages (4)
msg290090 - (view) Author: Tommy Carpenter (Tommy Carpenter) Date: 2017-03-24 14:24
Full details and stacktrace are at: http://stackoverflow.com/questions/43001446/python-pypi-configparser-blowing-up-when-pointing-to-certain-repo/43001770#43001770 Essentially, I had an index-servers section that listed a repo, that was not listed in the remainder of the .pypirc file. Instead of distutils catching this, it blows up in an obscure ConfigParsing error.
msg293637 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2017-05-14 06:33
Thanks for the report, Tommy. I think the configparser exception is pretty descriptive here. You had a .pypirc file like the following: [distutils] index-servers = pypi global [pypi] username:spam password:eggs You passed -r global and you got: Traceback (most recent call last): ... ConfigParser.NoSectionError: No section: 'global' Which says you don't have a section named 'global' in your .pypirc. There are three options here: a) do nothing b) catch configparser.NoSectionError and raise a distutils exception with better wording. Since we don't have DistutilsConfigError, I'm not sure which one is more appropriate here. c) ignore configparser.NoSectionError if server name cannot be found in sections in PyPIRCCommand._read_pypirc(). IMO this is the worst option. Here is a test case to demonstrate the problem described at the SO question.
msg293860 - (view) Author: Tommy Carpenter (Tommy Carpenter) Date: 2017-05-17 17:05
Hi, I think option B might be best, because the issue was that I didn't know at first that the problem was in my .pypirc. I think this stack trace is not the most elegant way for the user to figure that out. Maybe catching this and then presenting a human readable error to the user would be better.
msg386351 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-02-03 18:21
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils. If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at https://github.com/pypa/setuptools
History
Date User Action Args
2022-04-11 14:58:44 admin set github: 74081
2021-02-03 18:21:24 steve.dower set status: open -> closednosy: + steve.dowermessages: + resolution: out of datestage: resolved
2017-05-17 17:05:27 Tommy Carpenter set messages: +
2017-05-14 06:33:07 berker.peksag set files: + issue29895_test.diffversions: + Python 3.5, Python 3.6, Python 3.7nosy: + berker.peksagmessages: + keywords: + patch
2017-03-24 14:24:33 Tommy Carpenter create