summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/idlelib')
-rw-r--r--Lib/idlelib/PyShell.py12
-rwxr-xr-xLib/idlelib/idle9
-rw-r--r--Lib/idlelib/idle.py9
-rw-r--r--Lib/idlelib/idle.pyw9
-rw-r--r--Lib/idlelib/setup.py11
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)]
)