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 ...@@ -8,6 +8,7 @@ from distutils import log
from types import CodeType from types import CodeType
import sys import sys
import os import os
import re
import textwrap import textwrap
import marshal import marshal
...@@ -238,6 +239,8 @@ class bdist_egg(Command): ...@@ -238,6 +239,8 @@ class bdist_egg(Command):
def zap_pyfiles(self): def zap_pyfiles(self):
log.info("Removing .py files from temporary directory") 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 base, dirs, files in walk_egg(self.bdist_dir):
for name in files: for name in files:
if name.endswith('.py'): if name.endswith('.py'):
...@@ -245,6 +248,17 @@ class bdist_egg(Command): ...@@ -245,6 +248,17 @@ class bdist_egg(Command):
log.debug("Deleting %s", path) log.debug("Deleting %s", path)
os.unlink(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): def zip_safe(self):
safe = getattr(self.distribution, 'zip_safe', None) safe = getattr(self.distribution, 'zip_safe', None)
if safe is not 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