mirror of
https://github.com/python/cpython.git
synced 2024-11-21 21:09:37 +01:00
6fa5bdc6e8
This follows the previous patch that changed idlelib file names. Class names that matched old module names are not changed. Change idlelib imports in turtledemo.__main__. Exception: config-extensions.def. Previously, extension section names, file names, and class names had to match. Changing section names would create cross-version conflicts in config-extensions.cfg (user customizations). Instead map old names to new file names at point of import in editor.EditorWindow.load_extension. Patch extensively tested with test_idle, idle_test.htest.py, a custom import-all test, running IDLE in a console to catch messages, and testing each menu item. Based on a patch by Al Sweigart.
18 lines
570 B
Python
18 lines
570 B
Python
try:
|
|
import idlelib.pyshell
|
|
except ImportError:
|
|
# IDLE is not installed, but maybe pyshell is on sys.path:
|
|
from . import pyshell
|
|
import os
|
|
idledir = os.path.dirname(os.path.abspath(pyshell.__file__))
|
|
if idledir != os.getcwd():
|
|
# We're not in the IDLE directory, help the subprocess find run.py
|
|
pypath = os.environ.get('PYTHONPATH', '')
|
|
if pypath:
|
|
os.environ['PYTHONPATH'] = pypath + ':' + idledir
|
|
else:
|
|
os.environ['PYTHONPATH'] = idledir
|
|
pyshell.main()
|
|
else:
|
|
idlelib.pyshell.main()
|