Issue 8877: 2to3 fixes stdlib import wrongly (original) (raw)
Issue8877
Created on 2010-06-02 14:09 by djc, last changed 2022-04-11 14:57 by admin. This issue is now closed.
Messages (3) | ||
---|---|---|
msg106882 - (view) | Author: Dirkjan Ochtman (djc) * ![]() |
Date: 2010-06-02 14:09 |
djc@enrai src $ ls -l test/* -rw-r--r-- 1 djc users 34 Jun 2 16:00 test/http.py -rw-r--r-- 1 djc users 0 Jun 2 16:00 test/__init__.py djc@enrai src $ cat test/http.py from httplib import BadStatusLine djc@enrai src $ 2to3 test/* RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma --- test/http.py (original) +++ test/http.py (refactored) @@ -1,1 +1,1 @@ -from httplib import BadStatusLine +from .http.client import BadStatusLine RefactoringTool: Files that need to be modified: RefactoringTool: test/http.py ... which doesn't work, of course. On the other hand, http.py is not in a package, it works correctly. If test/http.py is moved to test/blah.py instead, it also works correctly. 2to3 should be able to conclude that the "httplib" it was before did not refer to .http, but refered to http.client. | ||
msg106897 - (view) | Author: Martin v. Löwis (loewis) * ![]() |
Date: 2010-06-02 17:07 |
Just in case it isn't clear: this is because of the order of fixes. The first fixer replaces httplib with http.client, then the next fixer thinks this is a relative import. | ||
msg106900 - (view) | Author: Benjamin Peterson (benjamin.peterson) * ![]() |
Date: 2010-06-02 18:03 |
And this has been fixed in the lastest versions of 2to3. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:57:01 | admin | set | github: 53123 |
2010-06-02 18:03:50 | benjamin.peterson | set | status: open -> closednosy: + benjamin.petersonmessages: + resolution: fixed |
2010-06-02 17:07:29 | loewis | set | nosy: + loewismessages: + |
2010-06-02 14:09:03 | djc | create |