在Mac Sierra上随带自制软件安装的virtualenvwrapper的错误消息 [英] Error message for virtualenvwrapper installed with homebrew on Mac Sierra

查看:101
本文介绍了在Mac Sierra上随带自制软件安装的virtualenvwrapper的错误消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用自制软件安装了virtualenv和virtualenvwrapper,但是尝试source virtualenvwrapper.sh

I installed virtualenv and virtualenvwrapper using homebrew, but am getting the following error when I try source virtualenvwrapper.sh

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper/hook_loader.py", line 16, in <module>
    from stevedore import ExtensionManager
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/stevedore/__init__.py", line 11, in <module>
    from .extension import ExtensionManager
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/stevedore/extension.py", line 17, in <module>
    import pkg_resources
  File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 72, in <module>
    import packaging.requirements
  File "/Library/Python/2.7/site-packages/packaging/requirements.py", line 59, in <module>
    MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
TypeError: __call__() takes exactly 2 arguments (1 given)
virtualenvwrapper.sh: There was a problem running the initialization hooks. 

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is
set properly.

我的.bash_profile看起来像这样:

My .bash_profile looks like this:

export PATH=/usr/local/bin:$PATH
# virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

我有一台运行Sierra(10.12.4)的Mac.

I have a mac running Sierra (10.12.4).

任何帮助表示赞赏!

推荐答案

我已经通过自制软件安装了macOS 10.12.6和python 2.

I've got macOS 10.12.6 and python 2 installed via homebrew.

对我有用的是通过添加export PATH="/usr/local/opt/python/libexec/bin:$PATH"来确保自制python在$PATH env变量中的系统python之前.

What worked for me was to make sure that homebrew python is in front of the system python in $PATH env variable by adding export PATH="/usr/local/opt/python/libexec/bin:$PATH".

我的.zshrc的相关部分如下所示:

The relevant part of my .zshrc looks like this:

## Python
export PATH="/usr/local/opt/python/libexec/bin:$PATH"  # homebrew python 2 in front of the system one
export WORKON_HOME="$HOME/Virtualenvs"
source /usr/local/bin/virtualenvwrapper.sh

我从公式文档中得到了这个主意:

I've got this idea from the formula documentation:

» brew info python
python: stable 2.7.13 (bottled), HEAD
# (...)
==> Caveats
This formula installs a python2 executable to /usr/local/bin.
If you wish to have this formula's python executable in your PATH then add
the following to ~/.zshrc:
  export PATH="/usr/local/opt/python/libexec/bin:$PATH"
# (...)

我怀疑bash是一样的.

I suspect for bash it is the same.

这篇关于在Mac Sierra上随带自制软件安装的virtualenvwrapper的错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆