2

几个月前做了一些教程后,我回来学习 Flask。我在我的 Mac 上安装了 Python 2.7,但上次我安装和使用 Python 3 时也使用了 Pynv,而且我还学习了如何创建和使用 virtualenvs。

我尝试使用 Python3 在 vi​​rtualenv 中运行一个小型 Flask 应用程序并收到“ImportError: No module named 'flask'”错误。据我所知,问题是我在 Python 2.7 下安装了 Flask,因为当我从我的 venv 中运行“pip install flask”时得到这个:

  Requirement already satisfied (use --upgrade to upgrade): flask in    ./venv/lib/python2.7/site-packages

但是,当我在激活 venv 的情况下运行 'pyenv local' 时,它告诉我它的 3.4.3,如果我再运行 'python my_app.py' Flask 工作得很好,但是当我运行 'python3 my_app.py' 时,我得到了 'no module named烧瓶的错误。

我在这里做错了什么?

4

2 回答 2

2

你没有做错什么。当 pyenv 激活虚拟环境时,它将“python”指向 virtualenv python 可执行文件,而不是“python3”。

您可以通过执行以下命令来确认这一点:

which python3
which python
于 2016-02-16T05:02:06.347 回答
2

您需要使用相同版本的工具链:为 python 2 安装 Flask 不会使其可用于 python 3。

使用 python 3 版本(可能是 venv-py3)创建您的 virtualenv,并使用 pip 版本 3(可能是 pip3)安装软件包。

于 2016-02-16T05:30:38.493 回答