我的问题是PyCharm无法在编辑器窗口中找到某些包含内容,例如Flask-Login:
在“从flask.ext.login导入current_user、login_user、logout_user、login_required”的语句中,“current_user、login_user、logout_user、login_required”都被标记为未解决的引用。
我是否漏掉了什么?
问题可能出现在 PyCharm 选择了虚拟环境中错误的 '解释器路径'。请到这里:
PyCharm (menu) -> Preferences (Menu option)
-> Project: <name> (Dropdown)
-> Project Interpreter (Menu option)
-> 'Settings' button (Looks like a gear)
-> More (Menu option)
-> Select your virtualenv interpreter
-> Click 'Show paths for interpreter' button (on bottom of list window)
现在,您已经找到了(虽然有些曲折)的位置,您应该能够看到解释器使用的路径。如果我的理论是正确的,这些路径指向全局系统位置。要添加虚拟环境路径,您应该点击 +
按钮并添加存在于虚拟环境中的相应路径。完成后,建议选择全局系统路径并单击 -
以将其删除。点击应用并转到 文件 -> 无效缓存 / 重新启动
以重新加载 PyCharm。
这样做可以让您的解释器指向您安装到虚拟环境中的库的正确位置,您将不再收到导入错误。请注意,即使进行此修复,您也不会在 项目解释器
下看到您的库,但它们应该正在被加载。
venv
是使用virtualenv创建的默认文件夹。我相信你只需要在virtualenv中使用Python解释器即可。如果你安装的包在virtualenv中,它应该可以正常工作。 - dieend文件 > 设置 > 项目 > 项目解释器 > 齿轮图标 > 显示全部
以下步骤详细说明了“核心”选项:
/venv
).idea
目录。打开 偏好设置 -> 项目 -> 项目解释器
,你能看到模块吗?
如果是,可能在您的项目中有另一个文件与flask.ext.login
相同的名称,这会防止pycharm找到实际的模块。
如果没有,您可以单击解释器旁边的...
并选择更多...
,选择您的解释器,在底部(筛选器旁边)点击显示所选解释器的路径
,您可以在那里添加模块的路径。
简单的解决方案:(在PyCharm 2022.2.3和Python 3.11.0上运行Win11):
将所有所需的软件包(包括jupyter!)安装到venv中(例如requirements.txt和PyCharm),这对我很有效。
我在WINDOWS和LINUX上遇到了同样的问题,并且每次将项目移动到不同的位置时,我都会遇到相同的问题...对我有效的方法是
将venv目录重命名
为venvxx(或其他你想要的名称),然后
创建新的虚拟环境
通过pycharm设置。之后你需要
将lib目录从venvxx(或其他你命名的文件夹)中复制
粘贴到新的venv中的lib内
这样至少对于我来说应该可以工作了,希望能帮助到有需要的人!然后重新启动pycharm,你的终端应该可以正常工作了。