aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarek Ziade <tarek@ziade.org>2010-05-06 16:50:18 +0200
committerTarek Ziade <tarek@ziade.org>2010-05-06 16:50:18 +0200
commit3a9c591f47b69048b513e5654e5d98efe3f2365a (patch)
tree06faaaea0aa7d00a972f45709bf872c60336413a
parentb53fad8a9e4e807564d11db3ed5a75187e3e1f6c (diff)
downloadexternal_python_setuptools-3a9c591f47b69048b513e5654e5d98efe3f2365a.tar.gz
external_python_setuptools-3a9c591f47b69048b513e5654e5d98efe3f2365a.tar.bz2
external_python_setuptools-3a9c591f47b69048b513e5654e5d98efe3f2365a.zip
respect the sys.dont_write_bytecode flag. Fixes #1470.6.11
--HG-- branch : distribute extra : rebase_source : 889c1badc92b1de14352a141865172b0a39384fa
-rw-r--r--CHANGES.txt1
-rw-r--r--setuptools/__init__.py10
-rwxr-xr-xsetuptools/command/easy_install.py6
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