IDLE 2.7.5+ ไม่ทำงานใน Ubuntu 13.10


2

เมื่อเร็ว ๆ นี้หลังจากอัปเกรดจาก Ubuntu 13.04 เป็น 13.10 ฉันไม่สามารถเปิดไฟล์. py ใน IDLE 2.7 เมื่อฉันคลิกใน "ไฟล์ - ไฟล์ล่าสุด - file.py" ฉันได้รับหน้าต่างว่าง ในหน้าต่างนี้ไม่มีรหัสและฉันไม่สามารถปิดได้ตามปกติเพียงแค่ใช้ "pkill idle" ในเทอร์มินัล

เมื่อฉันพยายามเปิด file.py ผ่านเทอร์มินัลโดยไม่ได้ใช้งาน:

idle path_to_file/file.py

ฉันเข้าใจ:

Traceback (การโทรล่าสุดครั้งล่าสุด):

File "/usr/bin/idle", line 5, in <module>
    main()
File "/usr/lib/python2.7/idlelib/PyShell.py", line 1536, in main
    if flist.open(filename) is None:
File "/usr/lib/python2.7/idlelib/FileList.py", line 36, in open
    return self.EditorWindow(self, filename, key)
File "/usr/lib/python2.7/idlelib/PyShell.py", line 131, in __init__
    EditorWindow.__init__(self, *args)
File "/usr/lib/python2.7/idlelib/EditorWindow.py", line 323, in __init__
    io.loadfile(filename)
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 258, in loadfile
    chars = self.decode(chars)
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 296, in decode
    enc = coding_spec(chars)
File "/usr/lib/python2.7/idlelib/IOBinding.py", line 129, in coding_spec
    for line in lst:
NameError: global name 'lst' is not defined

ฉันต้องการความช่วยเหลือฉันไม่สามารถทำงานกับไฟล์. py ของฉันใน IDLE ได้ !!!

ขอขอบคุณและขออวยพรให้ทุกคน

คำตอบ:


3

นี้เป็นที่รู้จักกันเป็นข้อผิดพลาด มันได้รับการแก้ไขใน idle 2.7.6 แต่คุณสามารถ (*) แก้ไขได้อย่างง่ายดาย

เปิดไฟล์ /usr/lib/python/idelib/IOBinding.py เป็น root ด้วยเครื่องมือแก้ไขที่คุณโปรดปราน:

sudo gedit /usr/lib/python2.7/idlelib/IOBinding.py

ไปที่บรรทัดที่ 128 และเปลี่ยน:

str = str.split("\n", 2)[:2]

ไปที่:

lst = str.split("\n", 2)[:2]

และบันทึกไฟล์

(*) ได้อย่างง่ายดายถ้าคุณเป็นโปรแกรมเมอร์หลาม


เฮ้ขอบคุณ มันได้ผล !. ฉันจะทำเครื่องหมายหัวข้อนี้ว่าแก้ไขอย่างไร
Ivan Castro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.