M PyShell.py
M idle
M idle.py
M idle.pyw
M setup.py
Switch back to installing IDLE as a package. The IDLE GUI and the
subprocess will both attempt to start up via the package mechanism, but if
IDLE is not yet installed it is possible to run by calling python idle.py
in the IDLE source directory, or to add the source directory to sys.path.
One advantage of doing it this way is IDLE stays off sys.path.
Developed in collaboration with Tony Lownds.
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 @@
# 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 @@
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 @@
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)]
)