diff options
-rw-r--r-- | CHANGES.txt | 1 | ||||
-rw-r--r-- | setuptools/__init__.py | 10 | ||||
-rwxr-xr-x | setuptools/command/easy_install.py | 6 |
3 files changed, 14 insertions, 3 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index e74f1714..9824beff 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -17,6 +17,7 @@ CHANGES * Issue 100: Fixed develop --user not taking '.' in PYTHONPATH into account * Issue 134: removed spurious UserWarnings. Patch by VanLindberg * Issue 138: cant_write_to_target error when setup_requires is used. +* Issue 147: respect the sys.dont_write_bytecode flag ------ 0.6.10 diff --git a/setuptools/__init__.py b/setuptools/__init__.py index c8a631a0..9de373f9 100644 --- a/setuptools/__init__.py +++ b/setuptools/__init__.py @@ -5,7 +5,8 @@ import distutils.core, setuptools.command from setuptools.depends import Require from distutils.core import Command as _Command from distutils.util import convert_path -import os.path +import os +import sys __version__ = '0.6' __all__ = [ @@ -95,4 +96,9 @@ def findall(dir = os.curdir): import distutils.filelist distutils.filelist.findall = findall # fix findall bug in distutils. - +# sys.dont_write_bytecode was introduced in Python 2.6. +if ((hasattr(sys, "dont_write_bytecode") and sys.dont_write_bytecode) or + (not hasattr(sys, "dont_write_bytecode") and os.environ.get("PYTHONDONTWRITEBYTECODE"))): + _dont_write_bytecode = True +else: + _dont_write_bytecode = False diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index 7af42c65..8aab6f1e 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -12,7 +12,7 @@ __ http://packages.python.org/distribute/easy_install.html """ import sys, os.path, zipimport, shutil, tempfile, zipfile, re, stat, random from glob import glob -from setuptools import Command +from setuptools import Command, _dont_write_bytecode from setuptools.sandbox import run_setup from distutils import log, dir_util from distutils.util import convert_path, subst_vars @@ -1149,6 +1149,10 @@ See the setuptools documentation for the "develop" command for more info. chmod(f, mode) def byte_compile(self, to_compile): + if _dont_write_bytecode: + self.warn('byte-compiling is disabled, skipping.') + return + from distutils.util import byte_compile try: # try to make the byte compile messages quieter |