This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: 2to3 fixes stdlib import wrongly
Type: Stage:
Components: 2to3 (2.x to 3.x conversion tool) Versions: Python 3.1
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, djc, loewis
Priority: normal Keywords:

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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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:01adminsetgithub: 53123
2010-06-02 18:03:50benjamin.petersonsetstatus: open -> closed

nosy: + benjamin.peterson
messages: + msg106900

resolution: fixed
2010-06-02 17:07:29loewissetnosy: + loewis
messages: + msg106897
2010-06-02 14:09:03djccreate