python - 这个flask错误是什么意思?/usr/local/bin/flask : bad interpreter:/usr/local/opt/python/bin/python2. 7: no such file or directory

标签 python flask python-venv

我可以看出 Flask 正在尝试使用 python2.7 作为解释器,但我不明白为什么。我使用 python3 -m venv venv 创建了一个 virtualenv,安装了 Flask,并尝试运行一个应用程序。我按照预期在我的 venv 中看到了 python3.6,所以我只是不明白任何使用 python2.7 的尝试来自哪里。我认为这与我的路径有关,但我发现每当我需要在 2 和 3 之间切换时,我都需要更改我的路径,不可避免地会破坏另一个版本。

来自其他语言,“隔离”venvs 的 promise 似乎从未按预期工作,因为我经常发现 python 2 和 3 不可避免地混合在一起。有没有办法获得绝对的python 2或3环境?

最佳答案

您过去曾使用 Python 2.7 安装 Flask,但该脚本指向不再安装的 Python 版本。

鉴于涉及的路径是 /usr/local/bin/usr/local/opt/python/bin/python2.7,我猜你这里使用 OS X 并安装了 Homebrew。最近,Homebrew 将 Python 公式从 Python 2 切换到了 Python 3,并且在此更改之前您可能使用 Python 2 pip 命令安装了 Flask。您应该能够完全删除 /usr/local/bin/flask 脚本,它现在已经过时且已损坏。

您也没有激活您的 virtualenv。您不必这样做,但在您这样做之前,包含正确版本的 Flask 脚本的 bin/ 目录将不会被都可用。激活 virtualenv 后,您的 PATH 环境变量将更新为首先包含 bin/ 目录,方法是将其包含在 PATH 的前面值。

通过使用 virtualenv bin/ 目录的路径来限定要使用的 flask 脚本,或者正确激活 virtualenv。

您可以检查您的 virtualenv 是否处于事件状态

echo $VIRTUAL_ENV

这应该打印你的 virtualenv 的路径。您还可以验证 PATH 设置是否正确; echo $PATH 应将 virtualenv .../bin/ 目录显示为第一个条目。如果它未激活,请通过运行激活它

source bin/activate

在 virtualenv 根目录中。

您可以使用以下命令运行正确的flask命令

path/to/venv/bin/flask

关于python - 这个flask错误是什么意思?/usr/local/bin/flask : bad interpreter:/usr/local/opt/python/bin/python2. 7: no such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53024870/

相关文章:

python在虚拟环境中导入文件

python - Joomla 和 XMLRPC

python - 在Python中,如何使该模型针对PC的音频输出流进行检查

python - Flask 自定义登录和模板渲染

python - Heroku 找不到 gunicorn 命令

python - 如何在命令行的虚拟环境中打印 python 测试中变量的内容

python - 为什么 python 说我有 "no module named venv"?

python - Python 中的牛顿拉夫森算法不起作用;只估计一个方向

python - Keras 中具有自定义损失的无监督编码

python - 解析 X-Forwarded-For 以在 Heroku 上使用 werkzeug 获取 ip