gpt4 book ai didi

python - 仅在 PyCharm 中尝试相对导入超出顶级包消息

转载 作者:行者123 更新时间:2023-12-05 07:32:55 28 4
gpt4 key购买 nike

更新:如果我将 select 模块(其中发生导入错误)的名称更改为 select1,问题就会消失!什么?

首先:当我尝试从命令行导入包或在项目目录中运行 pytest 时一切正常。

但在 PyCharm 中,当我尝试运行我的测试时,我遇到了“尝试相对导入超出顶级包”的问题,并且仅在 PyCharm 中。我不明白为什么。

我什至删除并重新克隆了存储库,但问题仍然存在。

这是 link到问题分支。

这是结核病:

Testing started at 4:02 PM ...
C:\Users\ricky\AppData\Local\Programs\Python\Python37\python.exe "C:\Program Files\JetBrains\PyCharm Community Edition 2018.1.2\helpers\pycharm\_jb_pytest_runner.py" --path C:/Users/ricky/PycharmProjects/candejar/tests
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.1.2\helpers\pycharm\_jb_pytest_runner.py", line 10, in <module>
from pkg_resources import iter_entry_points
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\site-packages\pkg_resources\__init__.py", line 36, in <module>
import email.parser
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\email\parser.py", line 12, in <module>
from email.feedparser import FeedParser, BytesFeedParser
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\email\feedparser.py", line 27, in <module>
from email._policybase import compat32
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\email\_policybase.py", line 9, in <module>
from email.utils import _has_surrogates
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\email\utils.py", line 29, in <module>
import socket
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\socket.py", line 52, in <module>
import os, sys, io, selectors
File "C:\Users\ricky\AppData\Local\Programs\Python\Python37\lib\selectors.py", line 12, in <module>
import select
File "C:\Users\ricky\PycharmProjects\candejar\candejar\select.py", line 24, in <module>
from . import exc
ImportError: attempted relative import with no known parent package

Process finished with exit code 1

我确定这里发生了一些简单的事情,但我就是想不通。注意:我使用的是 Python 3.7 RC 1。

pycharm中的sys.path和命令行出来是一样的,只是pycharm还包含了pycharm项目主包目录(不知为何出现了两次).

最佳答案

我能够通过从克隆的存储库中删除 .idea 目录并重新打开 PyCharm 来解决这个问题。我仍然不知道出了什么问题,但现在已经修复了。很奇怪。

更新:它与 .idea 文件夹中的项目 .iml 文件中的以下行有关:

<sourceFolder url="file://$MODULE_DIR$/candejar" isTestSource="false" />

删除该 xml 代码即可解决问题。但我不知道为什么,我也不知道它是如何到达那里的(我不记得在出现此错误之前弄乱了我的任何设置)。

关于python - 仅在 PyCharm 中尝试相对导入超出顶级包消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50936029/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com