我是Python和flask框架的新手,当我使用flask时,我收到“ImportError:无法从flask导入名称'_request_ctx_stack'
我尝试执行以下命令
Collecting distribute
Using cached distribute-0.7.3.zip (145 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: invalid command 'dist_info'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
首先,当我尝试从 Flask-security 导入 RoleMixin 时,我收到错误如下
Traceback (most recent call last):
File "E:\Python Practice\Role Based Access Control\script.py", line 1, in <module>
from app import app
^^^^^^^^^^^^^^^^^^^
File "E:\Python Practice\Role Based Access Control\app\__init__.py", line 25, in <module>
from app import routes
^^^^^^^^^^^^^^^^^^^^^^
File "E:\Python Practice\Role Based Access Control\app\routes.py", line 6, in <module>
from app.models import User, Role
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Python Practice\Role Based Access Control\app\models.py", line 3, in <module>
from flask_security import RoleMixin
File "E:\Python Practice\Role Based Access Control\myenv\Lib\site-packages\flask_security\__init__.py", line 15, in <module>
from .core import (
File "E:\Python Practice\Role Based Access Control\myenv\Lib\site-packages\flask_security\core.py", line 86, in <module>
from .totp import Totp
File "E:\Python Practice\Role Based Access Control\myenv\Lib\site-packages\flask_security\totp.py", line 18, in <module>
from passlib.pwd import genword
File "E:\Python Practice\Role Based Access Control\myenv\Lib\site-packages\passlib\pwd.py", line 16, in <module>
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
为了解决这个问题,我使用了“pip install --upgrade setuptools” 执行此命令后,如果运行我的脚本,我得到
ImportError: cannot import name '_request_ctx_stack' from 'flask'
flask-security 版本与 Flask 不兼容,flask-security 中没有最新版本,替代方案是安装“Flask-Security-Too” 您可以从“flask_security”导入所需的模块
您可以尝试以下链接以获取更多参考 https://flask-security-too.readthedocs.io/en/stable/quickstart.html