python 调试时发生ImportError,但在PyCharm中运行时未发生

s71maibg  于 2023-01-16  发布在  Python
关注(0)|答案(1)|浏览(121)

我正在使用python库Kivy构建一个桌面应用程序。因为我安装了一个插件来可视化.kv文件,所以我无法调试我的代码。但我可以毫无问题地运行它。这是我一直收到的错误:

Traceback (most recent call last):
   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
   File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
   File "...\Worktime_Tool\venv\lib\site-packages\kivy\app.py", line 416, in <module>
     from os.path import dirname, join, exists, sep, expanduser, isfile
 ImportError: cannot import name 'sep' from 'ntpath' (...\AppData\Local\Programs\Python\Python310\lib\ntpath.py)

到目前为止,我还不明白ntpath代表什么。我试着在调试和运行时比较ntpath,它们是相同的。我还仔细检查了为prrject设置的解释器和运行/调试配置中的解释器是相同的。
我尝试了使用和不使用venv
有人知道为什么我可以运行这个应用程序,但不能调试它吗?
非常感谢您的帮助!

1l5u6lss

1l5u6lss1#

不久前我遇到了同样的问题,你可以在你的虚拟环境中编辑\lib\site-packages\kivy\app.py,删除第416行的import行中的sep。
移除seps后,它将如下所示。

from os.path import dirname, join, exists, expanduser, isfile

或者
更新到最新版本的kivy,它不再给我错误。
您可以使用以下命令更新到最新的kivy developer版本:

python -m pip install "kivy[base] @ https://github.com/kivy/kivy/archive/master.zip"

相关问题