diff options
Diffstat (limited to 'Lib/idlelib')
-rw-r--r-- | Lib/idlelib/PyShell.py | 12 | ||||
-rwxr-xr-x | Lib/idlelib/idle | 9 | ||||
-rw-r--r-- | Lib/idlelib/idle.py | 9 | ||||
-rw-r--r-- | Lib/idlelib/idle.pyw | 9 | ||||
-rw-r--r-- | Lib/idlelib/setup.py | 11 |
5 files changed, 35 insertions, 15 deletions
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index e3605ac..687b539 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -319,9 +319,15 @@ class ModifiedInterpreter(InteractiveInterpreter): # XXX what about warnoptions? return [sys.executable, '-p', str(self.port)] else: - w = ['-W' + s for s in sys.warnoptions] - return [sys.executable] + w \ - + ["-c", "__import__('run').main()", str(self.port)] + w = ['-W' + s for s in sys.warnoptions] + # Maybe IDLE is installed and is being accessed via sys.path, + # or maybe it's not installed and the idle.py script is being + # run from the IDLE source directory. + if __name__ == 'idlelib.PyShell': + command = "__import__('idlelib.run').run.main()" + else: + command = "__import__('run').main()" + return [sys.executable] + w + ["-c", command, str(self.port)] def start_subprocess(self): addr = ("localhost", self.port) diff --git a/Lib/idlelib/idle b/Lib/idlelib/idle index 8638a16..131e8d3 100755 --- a/Lib/idlelib/idle +++ b/Lib/idlelib/idle @@ -1,4 +1,9 @@ #! /usr/bin/env python -import PyShell -PyShell.main() +try: + import idlelib.PyShell + idlelib.PyShell.main() +except: + # IDLE is not installed, but maybe PyShell is on sys.path: + import PyShell + PyShell.main() diff --git a/Lib/idlelib/idle.py b/Lib/idlelib/idle.py index 8638a16..131e8d3 100644 --- a/Lib/idlelib/idle.py +++ b/Lib/idlelib/idle.py @@ -1,4 +1,9 @@ #! /usr/bin/env python -import PyShell -PyShell.main() +try: + import idlelib.PyShell + idlelib.PyShell.main() +except: + # IDLE is not installed, but maybe PyShell is on sys.path: + import PyShell + PyShell.main() diff --git a/Lib/idlelib/idle.pyw b/Lib/idlelib/idle.pyw index 8638a16..131e8d3 100644 --- a/Lib/idlelib/idle.pyw +++ b/Lib/idlelib/idle.pyw @@ -1,4 +1,9 @@ #! /usr/bin/env python -import PyShell -PyShell.main() +try: + import idlelib.PyShell + idlelib.PyShell.main() +except: + # IDLE is not installed, but maybe PyShell is on sys.path: + import PyShell + PyShell.main() diff --git a/Lib/idlelib/setup.py b/Lib/idlelib/setup.py index 8a4ffa6..e10b3e8 100644 --- a/Lib/idlelib/setup.py +++ b/Lib/idlelib/setup.py @@ -46,14 +46,14 @@ class IDLE_Builder(build_py): # Copies all .py files, then also copies the txt and gif files build_py.run(self) for name in txt_files: - outfile = self.get_plain_outfile(self.build_lib, [], name) + outfile = self.get_plain_outfile(self.build_lib, [pkgname], name) dir = os.path.dirname(outfile) self.mkpath(dir) self.copy_file(os.path.join(pkg_dir, name), outfile, preserve_mode = 0) for name in Icons: outfile = self.get_plain_outfile(self.build_lib, - ["Icons"], name) + [pkgname, "Icons"], name) dir = os.path.dirname(outfile) self.mkpath(dir) self.copy_file(os.path.join("Icons", name), @@ -71,11 +71,11 @@ class IDLE_Builder(build_py): if not include_bytecode: return outputs for name in txt_files: - filename = self.get_plain_outfile(self.build_lib, [], name) + filename = self.get_plain_outfile(self.build_lib, [pkgname], name) outputs.append(filename) for name in Icons: filename = self.get_plain_outfile(self.build_lib, - ["Icons"], name) + [pkgname, "Icons"], name) outputs.append(filename) return outputs @@ -111,7 +111,6 @@ For further details, refer to idlefork.sourceforge.net. cmdclass = {'build_py':IDLE_Builder, 'install_lib':IDLE_Installer}, package_dir = {pkgname: pkg_dir}, - extra_path = pkgname, - py_modules = [f.split('.')[0] for f in glob.glob("*.py")], + packages = [pkgname], scripts = [os.path.join(pkg_dir, idle_name)] ) |