aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/bdist_egg.py
diff options
context:
space:
mode:
authorMarc Abramowitz <marc@marc-abramowitz.com>2012-06-26 15:15:27 -0700
committerMarc Abramowitz <marc@marc-abramowitz.com>2012-06-26 15:15:27 -0700
commit311fb781f87f8885d9a94343b4b7e9731bc0c9e7 (patch)
treeae00aff75d63f708deb60b57dbd885b233d24482 /setuptools/command/bdist_egg.py
parentd169177b19658f115db80d62c91593ca19bb5ee6 (diff)
downloadexternal_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.py6
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__']: