繁体   English   中英

如何在Mac上的python3上使virtualenv工作

[英]How to get virtualenv working on python3 on mac

我的Mac上有多个python版本。 我想将python3作为默认版本,也想使用virtualenv和virtualenvwrapper。

因此,我在~/.zshrc了别名

alias python='python3'

我也将以下内容添加到了~/.zshrc

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

但是,当我运行mkvirtualenv时,出现以下错误:

▶ mkvirtualenv cv
mkvirtualenv:79: /usr/local/bin/virtualenv: bad interpreter: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Ver: no such file or directory

即使通过python版本,我也会遇到相同的错误:

▶ mkvirtualenv -p /usr/local/bin/python3 cv
mkvirtualenv:79: /usr/local/bin/virtualenv: bad interpreter: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Ver: no such file or directory

一些其他命令行输出显示版本和我已经安装的内容:

▶ python --version
Python 3.5.0

~                                                                                                                                                                                  
▶ pip3.5 install virtualenv
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages

~                                                                                                                                                                                  
▶ pip3.5 install virtualenvwrapper
Requirement already satisfied (use --upgrade to upgrade): virtualenvwrapper in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
Requirement already satisfied (use --upgrade to upgrade): stevedore in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): six>=1.9.0 in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from stevedore->virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): pbr<2.0,>=1.6 in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from stevedore->virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): argparse in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from stevedore->virtualenvwrapper)

~                                                                                                                                                                                  
▶ echo $VIRTUALENVWRAPPER_PYTHON
/usr/local/bin/python3

这就是/usr/local/bin/virtualenv内容

▶ more /usr/local/bin/virtualenv
#!/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==12.0.5','console_scripts','virtualenv'
__requires__ = 'virtualenv==12.0.5'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
    sys.exit(
        load_entry_point('virtualenv==12.0.5', 'console_scripts', 'virtualenv')()
    )

更新

~                                                                                                                                                                                  
▶ virtualenv --no-site-packages --distribute -p /usr/bin/python3.3 ~/.virtualenvs/pywork3
zsh: /usr/local/bin/virtualenv: bad interpreter: /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Ver: no such file or directory

在python 3中使用命令pyvenv

例:

pyvenv venv
source venv/bin/activate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM