Bug 1100925 - Virtualenv no longer attempts to use symlinks when the os module does not have it. r?gps draft
authorNathan Hakkakzadeh <nhakkakzadeh@mozilla.com>
Thu, 02 Jun 2016 14:29:26 -0700
changeset 387433 5809399602693eb91a1c4f620bc22ea722e8250c
parent 387332 4e98c78b084c5cb1a41b5a386359bdaad565643d
child 387434 a847bffa63924fed2d66a7bc717301c3e23a7e4a
push id22949
push userbmo:nhakkakzadeh@mozilla.com
push dateWed, 13 Jul 2016 22:42:05 +0000
reviewersgps
bugs1100925
milestone50.0a1
Bug 1100925 - Virtualenv no longer attempts to use symlinks when the os module does not have it. r?gps Before, virtualenv would try to use symlinks based entirely on the value given by the options parser. Unfortunately, some versions of Python cannot symlink (specifically the MinGW version of Python). Now, virtualenv ensures the os module has the symlink funciton before attempting to use the symlink function. MozReview-Commit-ID: DFJ59AaPNpB
python/virtualenv/virtualenv.py
--- a/python/virtualenv/virtualenv.py
+++ b/python/virtualenv/virtualenv.py
@@ -703,17 +703,17 @@ def main():
                        clear=options.clear,
                        unzip_setuptools=options.unzip_setuptools,
                        prompt=options.prompt,
                        search_dirs=options.search_dirs,
                        download=options.download,
                        no_setuptools=options.no_setuptools,
                        no_pip=options.no_pip,
                        no_wheel=options.no_wheel,
-                       symlink=options.symlink)
+                       symlink=options.symlink and hasattr(os, 'symlink')) # MOZ: Make sure we don't use symlink when we don't have it
     if 'after_install' in globals():
         after_install(options, home_dir)
 
 def call_subprocess(cmd, show_stdout=True,
                     filter_stdout=None, cwd=None,
                     raise_on_returncode=True, extra_env=None,
                     remove_from_env=None, stdin=None):
     cmd_parts = []