summaryrefslogtreecommitdiffstats
path: root/Tools/freeze/freeze.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-03-05 04:05:38 (GMT)
committerGuido van Rossum <guido@python.org>1998-03-05 04:05:38 (GMT)
commit1e07403bbf47e7198a735a901598cbc1eedd607f (patch)
tree6582d4e79e4b6e156140e646a03d3e935ca0f2f8 /Tools/freeze/freeze.py
parenta5568d349bd0a2f4ca427e97f19d237ba4c0925a (diff)
downloadcpython-1e07403bbf47e7198a735a901598cbc1eedd607f.zip
cpython-1e07403bbf47e7198a735a901598cbc1eedd607f.tar.gz
cpython-1e07403bbf47e7198a735a901598cbc1eedd607f.tar.bz2
Some nits...
Add the script directory to the path. Fix the sanity checks on the arguments so they don't mess up the -m option; remove the requirement that the script must have a .py extension.
Diffstat (limited to 'Tools/freeze/freeze.py')
-rwxr-xr-xTools/freeze/freeze.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index b6f2d4a..ca16654 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -2,7 +2,7 @@
"""Freeze a Python script into a binary.
-usage: freeze [options...] script.py [module]...
+usage: freeze [options...] script [module]...
Options:
@@ -43,8 +43,7 @@ Options:
Arguments:
-script.py: The Python script to be executed by the resulting binary.
- It *must* end with a .py suffix!
+script: The Python script to be executed by the resulting binary.
module ...: Additional Python modules (referenced by pathname)
that will be included in the resulting binary. These
@@ -88,7 +87,7 @@ def main():
prefix = None # settable with -p option
exec_prefix = None # settable with -P option
extensions = []
- path = sys.path
+ path = sys.path[:]
modargs = 0
debug = 1
odir = ''
@@ -195,16 +194,16 @@ def main():
if not args:
usage('at least one filename argument required')
- # check that the script name ends in ".py"
- if args[0][-3:] != ".py":
- usage('the script name must have a .py suffix')
-
# check that file arguments exist
for arg in args:
+ if arg == '-m':
+ break
if not os.path.exists(arg):
usage('argument %s not found' % arg)
if not os.path.isfile(arg):
usage('%s: not a plain file' % arg)
+ if modargs:
+ break
# process non-option arguments
scriptfile = args[0]
@@ -238,6 +237,8 @@ def main():
# Actual work starts here...
# collect all modules of the program
+ dir = os.path.dirname(scriptfile)
+ path[0] = dir
mf = modulefinder.ModuleFinder(path, debug)
for mod in implicits:
mf.import_hook(mod)