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.
This commit is contained in:
Guido van Rossum 1998-03-05 04:05:38 +00:00
parent a5568d349b
commit 1e07403bbf
1 changed files with 9 additions and 8 deletions

View File

@ -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 @@
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)