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: lib2to3 failed to convert as refactor's fixes not search.pyc files
Type: behavior Stage: resolved
Components: 2to3 (2.x to 3.x conversion tool) Versions: Python 3.7
process
Status: closed Resolution: wont fix
Dependencies: Superseder: Close 2to3 issues and list them here
View: 45544
Assigned To: Nosy List: benjamin.peterson, njhsio
Priority: normal Keywords:

Created on 2019-01-10 16:08 by njhsio, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (1)
msg333393 - (view) Author: Nj Hsiong (njhsio) * Date: 2019-01-10 16:08
python3's lib2to3 would fail in silence if python3 and its packages are installed as compiled .pyc files.

Root cause is in Lib/lib2to3/refactor.py, the function get_all_fix_names only searches '.py' fix names.

=========below is workaround=========
--- a/Lib/lib2to3/refactor.py
+++ b/Lib/lib2to3/refactor.py
@@ -37,6 +37,12 @@
             if remove_prefix:
                 name = name[4:]
             fix_names.append(name[:-3])
+        if name.startswith("fix_") and name.endswith(".pyc"):
+            if remove_prefix:
+                name = name[4:]
+            name = name[:-4]
+            if name not in fix_names:
+                fix_names.append(name)
     return fix_names
History
Date User Action Args
2022-04-11 14:59:10adminsetgithub: 79889
2021-10-20 22:49:56iritkatrielsetstatus: open -> closed
superseder: Close 2to3 issues and list them here
resolution: wont fix
stage: resolved
2019-01-10 16:38:39xtreaksetnosy: + benjamin.peterson
2019-01-10 16:08:02njhsiocreate