问题描述
我有一个 PyCharm 错误,在我使用 development install pip install -v -e .
之后,IDE 不会就任何未解析的引用向我发出警告。例如,对于未解析的引用,您通常会得到:
但是现在在开发安装后,未解析的引用不会给出任何警告(对于任何名称、函数、变量、模块...):
我认为此错误是在我 named a module by mistake with a dash(在 setup.py
中)安装后触发的,如下所示:
entry_points={
"console_scripts": [
"adapt-entry = adapt.entry.point-of-entry:run_program",],
刚开始安装,过了一会儿IDE警告这个名字是非法的。但是在我将名称更改为使用下划线而不是破折号后,如果我使用开发安装,IDE 的参考检查对于所有项目和解释器都已损坏。
我尝试了所有常见的解决方案 from this list 以解决参考错误(使缓存无效、删除 .idea
文件夹、新建 venv
、更改解释器、重新启动、重新启动等...)。但是除了清除 IDE 广泛的用户首选项(我想避免它)或重新安装 IDE(甚至更糟)之外,我尝试了列表中的所有内容,但没有解决问题。对于所有效果,在我使用开发安装时,我的参考检查都被破坏了。
我使用通常的 src
布局,其中包含最小的 setup.py
和常规的 venv
,文件和目录结构如下:
C:.
adapt
├───src
│ ├───data
│ ├─ __init__.py
│ │
│ ├───entry
│ ├─ point_of_entry.py
│ └─ __init__.py
│
setup.py
和最小的 setup.py
setup(
name='adapt',version='0.1',package_dir={'': 'src'},zip_safe=False,packages=find_packages(where='src'),package_data={
"adapt.data": ["*.txt","*.csv"],'adapt': ['py.typed'],},include_package_data=True,entry_points={
"console_scripts": [
"adapt_entry = adapt.entry.point_of_entry:run_program",}
),
更常见的错误是引用无法解析,但在这种情况下,情况正好相反:代码运行并找到引用。 问题是(如第二个屏幕截图所示)它不会警告我故意引入的任何未解决的引用。
但是当我进行检查时,所有其他警告似乎都正确发出。 (我想我已经激活了正确的检查,如下面的屏幕截图所示。)如何解决这个短暂的擦除 IDE 广泛的用户首选项或完全重新安装 IDE?是否有一些我没有意识到的间接原因?
解决方法
只是为了扩展@user2235698 的回答,这也发生在我身上,因为 Reader mode
在我的 IDE 中被激活。
您可以通过以下方式轻松禁用此功能:
- 打开设置(ctrl + alt + s)
- 在搜索框中搜索“阅读器模式”或导航到编辑器 |阅读模式
- 禁用
Enable Reader Mode
选项 - 点击申请
这是由Reader mode
引起的,请投票给https://youtrack.jetbrains.com/issue/PY-45708(在标题附近竖起大拇指)