Commit ee33fa23 authored by Bibo Hao's avatar Bibo Hao

python 3 bdist_egg --exclude-source-files __pycache__ issue

parent 024139f0
......@@ -8,6 +8,7 @@ from distutils import log
from types import CodeType
import sys
import os
import re
import textwrap
import marshal
......@@ -238,6 +239,8 @@ class bdist_egg(Command):
def zap_pyfiles(self):
log.info("Removing .py files from temporary directory")
py3 = sys.version_info >= (3, 0)
re_pycache_file = re.compile('(.+)\.cpython-3\d(.pyc)$')
for base, dirs, files in walk_egg(self.bdist_dir):
for name in files:
if name.endswith('.py'):
......@@ -245,6 +248,17 @@ class bdist_egg(Command):
log.debug("Deleting %s", path)
os.unlink(path)
if py3 and base.endswith('__pycache__'):
path_old = os.path.join(base, name)
m = re_pycache_file.match(name)
path_new = os.path.join(base, os.pardir, m.group(1) + m.group(2))
log.info("Renaming Python 3 .pyc file from [%s] to [%s]" % (path_old, path_new))
if os.path.exists(path_new):
os.unlink(path_new)
os.rename(path_old, path_new)
def zip_safe(self):
safe = getattr(self.distribution, 'zip_safe', None)
if safe is not None:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment