PyCharm 无法正确识别需求 - Python、Django

问题描述 投票:0回答:6

需求经常出现在

requirements.txt
中,如下所示:

django-registration

但在

INSTALLED_APPS
中它显示为
registration
。所以当你导入时:

from registration.signals import user_registered

这是有效的,但 PyCharm 在 from registration... 中的

registration
一词下显示一条红色波浪线,表示“包‘注册’未在项目要求中列出”。

我该如何补救?

更新

我找到了一种方法来消除警告,但这不是一个好的解决方案。如果您只是将包名称添加到

requirements.txt
文件中,警告就会消失,但如果您要使用
pip
安装,则该要求无效。例如,我也在使用
pygooglevoice
,这就是它在
requirements.txt
中的写法,但是当它被导入到代码中时,你会写:

from googlevoice import Voice

这看起来很奇怪,因为我在许多项目中使用 PyCharm,而且我只是在最近正在从事的一个项目中注意到这一点......

python django pycharm
6个回答
24
投票

再次看到这个现象后,我又做了一些挖掘。将某些文件夹设置为源根并重新启动 PyCharm 后,这些参考警告消失了。我认为这是 PyCharm 中的一个错误。


22
投票

JetBrains 声称该问题已在 2017.2 版本中修复:

https://youtrack.jetbrains.com/issue/PY-11963#comment=27-2248728

我可以确认这一点(在 IntelliJ IDEA 中)。另外,值得仔细检查

Settings -> Tools -> Python Integrated Tools -> Package requirements file

中是否指定了正确的需求文件

16
投票

这似乎是一个悬而未决的问题

https://youtrack.jetbrains.com/issue/PY-11963


3
投票

PyCharm 应该能够解决这个问题,但事实并非如此。现在,我只需向每个导入添加 # noinspection PyPackageRequirements 并使用此警告来抑制它。我宁愿不这样做,但它现在有效。


0
投票

这个问题可以在终端中使用以下命令来解决(使用linux,不确定这是否可以在Windows上工作,但我看不出为什么它不应该,我没有在Windows上尝试过。)

如果您还没有创建requirements.txt文件

touch requirements.txt

这应该可以解决问题

pip freeze > requirements.txt
pip install flask

为了更好地理解,我建议阅读这篇文章

https://boscacci.medium.com/why-and-how-to-make-a-requirements-txt-f329c685181e


0
投票

我也遇到同样的问题。结果发现虚拟环境文件夹被排除在项目文件之外。从排除文件列表中删除它有帮助。

设置 -> 项目 -> 项目结构

© www.soinside.com 2019 - 2024. All rights reserved.