PyCharm+;Flask:未解析引用-如何正确导入Python名称空间?

PyCharm+;Flask:未解析引用-如何正确导入Python名称空间?,python,Python,我已经将Flask和Flask脚本添加到PyCharm虚拟环境中。该应用程序正在运行,但PyCharm给了我各种错误: 因此,代码完成不起作用 如果我直接导入模块,比如 导入脚本 代码完成工作,但我不确定这是否是一个预期用途 如果我直接导入flask\u脚本而不是flask.ext,我就可以解决这个问题。这是一个有效的解决办法吗 有没有其他合适的方法来解决这个问题?我读了一些答案,但没有一个能解决这个问题。在你的venv>lib>python3.x>站点包中将站点包标记为源根。你需要告诉PyCh

我已经将
Flask
Flask脚本
添加到
PyCharm
虚拟环境中。该应用程序正在运行,但
PyCharm
给了我各种错误:

因此,代码完成不起作用

如果我直接导入模块,比如 导入脚本 代码完成工作,但我不确定这是否是一个预期用途

如果我直接导入
flask\u脚本而不是
flask.ext
,我就可以解决这个问题。这是一个有效的解决办法吗


有没有其他合适的方法来解决这个问题?我读了一些答案,但没有一个能解决这个问题。

在你的venv>lib>python3.x>站点包中站点包标记为源根。

你需要告诉PyCharm你正在使用哪个解释器。假设您在Mac上使用了一些virtualenv(与Linux类似),请转到文件>默认设置>项目解释器

然后单击项目解释器下拉菜单旁边的小机械转盘,选择“添加本地”并选择您的解释器(例如,您在其中安装flask的虚拟环境)


希望这有帮助。

转到文件->默认设置->项目解释器 添加各自的解释器。 然后,单击该加号添加“Flask”包。它将覆盖所有模块


这对我有用

我遇到了一个类似的错误,说明“无法在“Flask.py”中找到引用“Flask”

如果您在windows上(使用Pycharm),请转到 文件->项目解释器 将有一个包裹列表,找到烧瓶并双击打开。 然后单击InstallPackage,它将为您的项目安装它


我对此不太了解,但这就是我解决问题的方法。

如果您可以直接从
flask\u脚本导入,那么您应该这样做。
flask.ext
名称空间的存在是由于一些导入的重新映射代码,因此某些事情可能会中断,例如代码完成。我不理解“flask.ext”的必要性。只要假装它不存在,它会让您的生活更轻松。然而,对于
flask.ext
导入位置,它有一些薄弱的理由,但实际上它违背了Python的一些基本原则(即:“应该有一种——最好只有一种——显而易见的方法来实现”)。这里有类似的问题:希望这会有所帮助。
Unresolved reference "Manager" (from  flask.ext.script import Manager)
Cannot find reference "script" in "__init__.py" (from  flask.ext.script import Manager)
No module named "script" (command = flask.ext.script.Command(app)