Trouble using mkvirtualenv after installing OS X M

2019-05-16 23:46发布

问题:

I recently installed OS X Mavericks. I can access my previously created virtual environments, but I have trouble creating a new one:

Christophers-MacBook-Pro-2:~ christopherspears$ mkvirtualenv bottle_todo
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory

I looked into /usr/local/bin/virtualenv:

#!/usr/local/opt/python/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10.1','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10.1'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('virtualenv==1.10.1', 'console_scripts', 'virtualenv')()
    )

Sure enough the path /usr/local/opt/python/bin/python2.7 does not exit. Earlier on, I had this issue:

Terminal issue with virtualenvwrapper after Mavericks Upgrade

I tried updating virtualenv to no avail:

christohersmbp2:~ christopherspears$ pip install virtualenv
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Python/2.7/site-packages
Cleaning up...
christohersmbp2:~ christopherspears$ pip install --upgrade virtualenv
Requirement already up-to-date: virtualenv in /Library/Python/2.7/site-packages
Cleaning up...
christohersmbp2:~ christopherspears$ mkvirtualenv test
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory

回答1:

I fixed it. I had to uninstall and reinstall virtualenv:

christohersmbp2:bin christopherspears$ sudo pip uninstall virtualenv
Password:
Uninstalling virtualenv:
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/DESCRIPTION.rst
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/METADATA
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/RECORD
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/WHEEL
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/entry_points.txt
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/pydist.json
  /Library/Python/2.7/site-packages/virtualenv-1.11.4.dist-info/top_level.txt
  /Library/Python/2.7/site-packages/virtualenv.py
  /Library/Python/2.7/site-packages/virtualenv.pyc
  /Library/Python/2.7/site-packages/virtualenv_support/__init__.py
  /Library/Python/2.7/site-packages/virtualenv_support/__init__.pyc
  /Library/Python/2.7/site-packages/virtualenv_support/pip-1.5.4-py2.py3-none-any.whl
  /Library/Python/2.7/site-packages/virtualenv_support/setuptools-2.2-py2.py3-none-any.whl
  /usr/local/bin/virtualenv
  /usr/local/bin/virtualenv-2.7
Proceed (y/n)? y
  Successfully uninstalled virtualenv
christohersmbp2:bin christopherspears$ sudo pip install virtualenv
Downloading/unpacking virtualenv
  Downloading virtualenv-1.11.4-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...

Now everything seems to work:

christohersmbp2:bin christopherspears$ cat virtualenv
#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from virtualenv import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())
christohersmbp2:bin christopherspears$ mkvirtualenv test
New python executable in test/bin/python
Installing setuptools, pip...done.

(test)christohersmbp2:bin christopherspears$ deactivate
christohersmbp2:bin christopherspears$ workon
bottle_tutorial
rango_tutorial
scrapestat
test
christohersmbp2:bin christopherspears$ rmvirtualenv test
Removing test...