【问题标题】:flask run keeps referring to python 2.7 even though it's already inside a python3 venvflask run 一直引用 python 2.7,即使它已经在 python3 venv 中
【发布时间】:2020-01-02 14:40:11
【问题描述】:

我使用以下命令创建了一个虚拟环境:

python3 -m venv env

我使用 pip3 安装了所有必要的库,并验证它们都安装正确。 但是,每次我尝试使用以下命令运行程序时:

(venv) $ export FLASK_CONFIG=development
(venv) $ export FLASK_APP=run.py
(venv) $ flask run

我总是收到以下错误消息:

Error: While importing "run", an ImportError was raised:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flask/cli.py", line 240, in locate_app
    __import__(module_name)
  File "/Users/harijant/Desktop/python-venv-test/run.py", line 4, in <module>
    from app import create_app
  File "/Users/harijant/Desktop/python-venv-test/app/__init__.py", line 7, in <module>
    from flask_login import LoginManager
ImportError: No module named flask_login

可以看出,它抱怨 python2.7 没有所需的库,这是有道理的,因为我使用 pip3 安装所有东西。

我也尝试使用 PyCharm 中的 venv,但仍然遇到同样的错误。

有什么建议吗?谢谢。

【问题讨论】:

  • 创建虚拟环境后,应使用source env/bin/activate激活。从任何地方停用类型deactivate(只要你在同一个shell中)
  • @LucasScott 感谢您的回复!我总是这样做。如果我最初的帖子没有显示(现在显示),我很抱歉。
  • 运气好吗?我遇到了同样的问题:(

标签: python-3.x flask


【解决方案1】:

尝试运行这些命令并查看输出:

(venv) $ echo $PATH
(venv) $ which python
(venv) $ which pip
(venv) $ which pip3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2019-02-15
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多