diff options
author | Marc Abramowitz <marc@marc-abramowitz.com> | 2012-06-26 15:15:27 -0700 |
---|---|---|
committer | Marc Abramowitz <marc@marc-abramowitz.com> | 2012-06-26 15:15:27 -0700 |
commit | 311fb781f87f8885d9a94343b4b7e9731bc0c9e7 (patch) | |
tree | ae00aff75d63f708deb60b57dbd885b233d24482 /setuptools/command/bdist_egg.py | |
parent | d169177b19658f115db80d62c91593ca19bb5ee6 (diff) | |
download | external_python_setuptools-311fb781f87f8885d9a94343b4b7e9731bc0c9e7.tar.gz external_python_setuptools-311fb781f87f8885d9a94343b4b7e9731bc0c9e7.tar.bz2 external_python_setuptools-311fb781f87f8885d9a94343b4b7e9731bc0c9e7.zip |
Add tests and fix for marshal.load of pyc files on Python 3.3
Fixes
https://bitbucket.org/tarek/distribute/issue/283/bdist_egg-issues-with-python-330ax
--HG--
branch : distribute
extra : rebase_source : ec6f2611d3f8a54b7e11cfadf9d03fdcdef39639
Diffstat (limited to 'setuptools/command/bdist_egg.py')
-rw-r--r-- | setuptools/command/bdist_egg.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py index 68ca15c7..0ee9c55b 100644 --- a/setuptools/command/bdist_egg.py +++ b/setuptools/command/bdist_egg.py @@ -426,7 +426,11 @@ def scan_module(egg_dir, base, name, stubs): pkg = base[len(egg_dir)+1:].replace(os.sep,'.') module = pkg+(pkg and '.' or '')+os.path.splitext(name)[0] f = open(filename,'rb'); f.read(8) # skip magic & date - code = marshal.load(f); f.close() + try: + code = marshal.load(f); f.close() + except ValueError: + f.seek(0); f.read(12) # skip magic & date & file size; file size added in Python 3.3 + code = marshal.load(f); f.close() safe = True symbols = dict.fromkeys(iter_symbols(code)) for bad in ['__file__', '__path__']: |