PyCharm 没有正确识别需求 - Python,Django
PyCharm Not Properly Recognizing Requirements - Python, Django
通常要求在 requirements.txt
中显示如下:
django-registration
但在 INSTALLED_APPS
中显示为 registration
。所以当你导入时:
from registration.signals import user_registered
这是有效的,但 PyCharm 在 from registration...
中的 registration 一词下方显示一条红色波浪线表示 "Package 'registration' is not listed in project requirements"。
我该如何补救?
更新
我找到了使警告消失的方法,但这不是一个好的解决方案。如果您只是将包名称添加到 requirements.txt
文件中,警告就会消失,但如果您要使用 pip
安装,则该要求无效。例如,我也在使用 pygooglevoice
,这是 requirements.txt
中的写法,但是当它被导入到代码中时,您会写:
from googlevoice import Voice
这看起来很奇怪,因为我在很多项目中都使用 PyCharm,而我只是在最近的一个项目中注意到这一点...
再次看到这个现象后,我又做了一些挖掘。将某些文件夹设置为源根目录并重新启动 PyCharm 后,这些参考警告消失了。我认为这是 PyCharm.
中的错误
这似乎是一个悬而未决的问题
PyCharm 应该可以解决这个问题,但事实并非如此。现在,我只是将 # noinspection PyPackageRequirements 添加到每个带有此警告的导入中以抑制它。我宁愿不这样做,但它现在有效。
JetBrains 声称此问题已在 2017.2 版中修复:
https://youtrack.jetbrains.com/issue/PY-11963#comment=27-2248728
我可以确认这一点(在 IntelliJ IDEA 中)。此外,值得仔细检查是否在 Settings -> Tools -> Python Integrated Tools -> Package requirements file
中指定了正确的需求文件
可以在终端中使用以下命令解决此问题(使用 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
通常要求在 requirements.txt
中显示如下:
django-registration
但在 INSTALLED_APPS
中显示为 registration
。所以当你导入时:
from registration.signals import user_registered
这是有效的,但 PyCharm 在 from registration...
中的 registration 一词下方显示一条红色波浪线表示 "Package 'registration' is not listed in project requirements"。
我该如何补救?
更新
我找到了使警告消失的方法,但这不是一个好的解决方案。如果您只是将包名称添加到 requirements.txt
文件中,警告就会消失,但如果您要使用 pip
安装,则该要求无效。例如,我也在使用 pygooglevoice
,这是 requirements.txt
中的写法,但是当它被导入到代码中时,您会写:
from googlevoice import Voice
这看起来很奇怪,因为我在很多项目中都使用 PyCharm,而我只是在最近的一个项目中注意到这一点...
再次看到这个现象后,我又做了一些挖掘。将某些文件夹设置为源根目录并重新启动 PyCharm 后,这些参考警告消失了。我认为这是 PyCharm.
中的错误这似乎是一个悬而未决的问题
PyCharm 应该可以解决这个问题,但事实并非如此。现在,我只是将 # noinspection PyPackageRequirements 添加到每个带有此警告的导入中以抑制它。我宁愿不这样做,但它现在有效。
JetBrains 声称此问题已在 2017.2 版中修复:
https://youtrack.jetbrains.com/issue/PY-11963#comment=27-2248728
我可以确认这一点(在 IntelliJ IDEA 中)。此外,值得仔细检查是否在 Settings -> Tools -> Python Integrated Tools -> Package requirements file
可以在终端中使用以下命令解决此问题(使用 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