aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/easy_install.py
diff options
context:
space:
mode:
authorPJ Eby <distutils-sig@python.org>2005-09-24 17:58:22 +0000
committerPJ Eby <distutils-sig@python.org>2005-09-24 17:58:22 +0000
commitb6b29d019d1c33c75ee45fe8846525c75f1ed404 (patch)
tree747afb3f844107fc6557513e2f76ec0a7b129c53 /setuptools/command/easy_install.py
parentb36d8cf48254de4e35688764e6026dfffdfa2b62 (diff)
downloadexternal_python_setuptools-b6b29d019d1c33c75ee45fe8846525c75f1ed404.tar.gz
external_python_setuptools-b6b29d019d1c33c75ee45fe8846525c75f1ed404.tar.bz2
external_python_setuptools-b6b29d019d1c33c75ee45fe8846525c75f1ed404.zip
Implement smart version conflict resolution for scripts, so that
installed applications will not have their eggs overridden by packages installed locally on sys.path. This should also make things work a bit better for "traditional" non-root Python setups on Unixy operating systems. See: http://mail.python.org/pipermail/distutils-sig/2005-September/005164.html for more details. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041250
Diffstat (limited to 'setuptools/command/easy_install.py')
-rwxr-xr-xsetuptools/command/easy_install.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index ac7fe5a4..6f73383b 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -462,6 +462,7 @@ class easy_install(Command):
script_text = get_script_header("") + (
"# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r\n"
+ "__requires__ = %(spec)r\n"
"import sys\n"
"from pkg_resources import load_entry_point\n"
"\n"
@@ -489,7 +490,6 @@ class easy_install(Command):
-
def install_script(self, dist, script_name, script_text, dev_path=None):
"""Generate a legacy script wrapper and install it"""
spec = str(dist.as_requirement())
@@ -497,6 +497,7 @@ class easy_install(Command):
if dev_path:
script_text = get_script_header(script_text) + (
"# EASY-INSTALL-DEV-SCRIPT: %(spec)r,%(script_name)r\n"
+ "__requires__ = %(spec)r\n"
"from pkg_resources import require; require(%(spec)r)\n"
"del require\n"
"__file__ = %(dev_path)r\n"
@@ -504,15 +505,14 @@ class easy_install(Command):
) % locals()
else:
script_text = get_script_header(script_text) + (
- "#!python\n"
"# EASY-INSTALL-SCRIPT: %(spec)r,%(script_name)r\n"
+ "__requires__ = %(spec)r\n"
"import pkg_resources\n"
"pkg_resources.run_script(%(spec)r, %(script_name)r)\n"
) % locals()
self.write_script(script_name, script_text)
-
def write_script(self, script_name, contents, mode="t"):
"""Write an executable file to the scripts directory"""
log.info("Installing %s script to %s", script_name, self.script_dir)