summaryrefslogtreecommitdiff
path: root/setuptools/dist.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-10-19 12:03:17 +0100
committerJason R. Coombs <jaraco@jaraco.com>2014-10-19 12:03:17 +0100
commit91bf71a998da0858a887741fdc6fff742b9c27d9 (patch)
tree2ddd72ef04c7026088461dd3436dec645db07dc8 /setuptools/dist.py
parentb702988e2269595e871816f9180e0b49f612f538 (diff)
parent67cfcd712d16e2f0736d1b03a0f9e02a8303649a (diff)
downloadpython-setuptools-bitbucket-91bf71a998da0858a887741fdc6fff742b9c27d9.tar.gz
Merge Pull Request #97
Diffstat (limited to 'setuptools/dist.py')
-rw-r--r--setuptools/dist.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/setuptools/dist.py b/setuptools/dist.py
index 8b36f67c..2d9da8c4 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -14,7 +14,8 @@ from distutils.errors import (DistutilsOptionError, DistutilsPlatformError,
DistutilsSetupError)
from setuptools.depends import Require
-from setuptools.compat import basestring, PY2
+from setuptools.compat import basestring, PY2, unicode
+from setuptools import win32
import pkg_resources
def _get_unpatched(cls):
@@ -305,6 +306,21 @@ class Distribution(_Distribution):
else:
self.convert_2to3_doctests = []
+ def get_egg_cache_dir(self):
+ egg_cache_dir = os.path.join(os.curdir, '.eggs')
+ if not os.path.exists(egg_cache_dir):
+ os.mkdir(egg_cache_dir)
+ win32.hide_file(unicode(egg_cache_dir))
+ readme_txt_filename = os.path.join(egg_cache_dir, 'README.txt')
+ with open(readme_txt_filename, 'w') as f:
+ f.write('This directory contains eggs that were downloaded '
+ 'by setuptools to build, test, and run plug-ins.\n\n')
+ f.write('This directory caches those eggs to prevent '
+ 'repeated downloads.\n\n')
+ f.write('However, it is safe to delete this directory.\n\n')
+
+ return egg_cache_dir
+
def fetch_build_egg(self, req):
"""Fetch an egg needed for building"""
@@ -328,8 +344,9 @@ class Distribution(_Distribution):
if 'find_links' in opts:
links = opts['find_links'][1].split() + links
opts['find_links'] = ('setup', links)
+ install_dir = self.get_egg_cache_dir()
cmd = easy_install(
- dist, args=["x"], install_dir=os.curdir, exclude_scripts=True,
+ dist, args=["x"], install_dir=install_dir, exclude_scripts=True,
always_copy=False, build_directory=None, editable=False,
upgrade=False, multi_version=True, no_report=True, user=False
)