Commit 70177237 authored by Jason R. Coombs's avatar Jason R. Coombs

distribute_setup.py now accepts the --user argument for installing to the...

distribute_setup.py now accepts the --user argument for installing to the user-local environment on Python 2.6 and later. Fixes #260.

--HG--
branch : distribute
extra : rebase_source : 7435c8b7f4d8eb6308cf7d5d9578f79c91f6b18b
parent 7ee58aa1
...@@ -7,6 +7,8 @@ CHANGES ...@@ -7,6 +7,8 @@ CHANGES
------ ------
* Issue #258: Workaround a cache issue * Issue #258: Workaround a cache issue
* Issue #260: distribute_setup.py now accepts the --user parameter for
Python 2.6 and later.
------ ------
0.6.24 0.6.24
......
...@@ -63,7 +63,7 @@ Description: xxx ...@@ -63,7 +63,7 @@ Description: xxx
""" % SETUPTOOLS_FAKED_VERSION """ % SETUPTOOLS_FAKED_VERSION
def _install(tarball): def _install(tarball, install_args=()):
# extracting the tarball # extracting the tarball
tmpdir = tempfile.mkdtemp() tmpdir = tempfile.mkdtemp()
log.warn('Extracting in %s', tmpdir) log.warn('Extracting in %s', tmpdir)
...@@ -81,7 +81,7 @@ def _install(tarball): ...@@ -81,7 +81,7 @@ def _install(tarball):
# installing # installing
log.warn('Installing Distribute') log.warn('Installing Distribute')
if not _python_cmd('setup.py', 'install'): if not _python_cmd('setup.py', 'install', *install_args):
log.warn('Something went wrong during the installation.') log.warn('Something went wrong during the installation.')
log.warn('See the error message above.') log.warn('See the error message above.')
finally: finally:
...@@ -474,11 +474,20 @@ def _extractall(self, path=".", members=None): ...@@ -474,11 +474,20 @@ def _extractall(self, path=".", members=None):
else: else:
self._dbg(1, "tarfile: %s" % e) self._dbg(1, "tarfile: %s" % e)
def _build_install_args(argv):
install_args = []
user_install = '--user' in argv
if user_install and sys.version_info < (2,6):
log.warn("--user requires Python 2.6 or later")
raise SystemExit(1)
if user_install:
install_args.append('--user')
return install_args
def main(argv, version=DEFAULT_VERSION): def main(argv, version=DEFAULT_VERSION):
"""Install or upgrade setuptools and EasyInstall""" """Install or upgrade setuptools and EasyInstall"""
tarball = download_setuptools() tarball = download_setuptools()
_install(tarball) _install(tarball, _build_install_args(argv))
if __name__ == '__main__': if __name__ == '__main__':
......
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