【问题标题】:multiple bad interpreter issues with python (even with virtualenv)python的多个错误解释器问题(即使是virtualenv)
【发布时间】:2019-08-09 07:18:23
【问题描述】:

我在 mac (mojave osx 10.14) 上,我承认我有一个非常混乱的 python 环境。

最近我遇到了多个错误,例如:

zsh: /usr/local/bin/pip: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

zsh: /usr/local/bin/alembic: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

zsh: /usr/local/bin/pytest: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

即使创建并输入要在其中工作的 virtualenv 也是如此。

在这种特定情况下,我需要一个 python3 虚拟环境。

当我在环境之外which python 时,我得到/usr/local/bin/pythonpython -v = Python 2.7.15

在这个 virtualenv 之外,我得到了这些糟糕的解释器错误。

我用virtualenv -p python3 .venv为python3创建了一个virtualenv

甚至没有安装任何东西,我仍然得到

zsh: /usr/local/bin/alembic: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

zsh: /usr/local/bin/pytest: bad interpreter: /usr/local/opt/python/bin/python3.6: no such file or directory

如果我 pip uninstall alembicpip3 uninstall alembic,我仍然会收到错误的解释器错误。

我不知道它可能仍然安装在哪里,也不知道从哪里开始清理我的环境。想要一个新的开始,但我不知道这是否可能。

【问题讨论】:

    标签: python python-3.x macos virtualenv


    【解决方案1】:

    您已删除(卸载)/usr/local/opt/python/bin/python3.6,解释器在/usr/local/bin/alembic/usr/local/bin/pytest 和其他脚本中用作shebang。修复它们的最佳方法是使用不同的解释器重新安装它们。例如:

    /usr/bin/python3.6 -m pip install -U alembic pip pytest
    

    /usr/bin/python3.6 在这里只是一个例子。

    【讨论】:

    • 是的,你是对的,那些文件有那个shebang。但是,我想如果我在 virtualenv 中工作,它就不会引用那些。是否有适当的方法来覆盖 /usr/local/bin 中的内容?如果我专门 python3 -m pip install alembic... 在 vi​​rtualenv 它仍然给我同样的错误
    • 您必须将这些模块的副本安装到 virtualenv 中。然后你使用来自venv/bin/ 的脚本而不是/usr/local/bin/
    【解决方案2】:

    我的问题(Mac OS 14.4.1)与 Python 2.7 版本有关,该版本缺少符号链接。我通过运行解决了这个问题:

    brew link --overwrite python
    

    如上所述here

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 2017-05-22
      • 2018-09-22
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多