[Python]_[初级]_[使用PyCharm时不识别根包位置和Debug时报ModuleNotFoundError错误]
Posted infoworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Python]_[初级]_[使用PyCharm时不识别根包位置和Debug时报ModuleNotFoundError错误]相关的知识,希望对你有一定的参考价值。
场景
- 在使用
PyCharm
开发程序时,当我们Debug
某个文件时,会报以下错误,什么原因?
Traceback (most recent call last):
File "C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.2.5\\helpers\\pydev\\pydevd.py", line 15, in <module>
from _pydevd_bundle.pydevd_constants import IS_JYTH_LESS25, IS_PY34_OR_GREATER, IS_PY36_OR_GREATER, IS_PYCHARM, get_thread_id, \\
File "C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.2.5\\helpers\\pydev\\_pydevd_bundle\\pydevd_constants.py", line 168, in <module>
from _pydev_imps._pydev_saved_modules import thread
File "C:\\Program Files\\JetBrains\\PyCharm Community Edition 2018.2.5\\helpers\\pydev\\_pydev_imps\\_pydev_saved_modules.py", line 21, in <module>
import xmlrpc.client as xmlrpclib
File "C:\\Users\\xx\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\xmlrpc\\client.py", line 138, in <module>
from xml.parsers import expat
ModuleNotFoundError: No module named 'xml.parsers'
- 在开发
python
项目时,不可避免的会使用package
特性,把文件放到package
里,但是当引用这个类时,怎么会出现无法识别package
的错误?
图1:
说明
-
第一个问题报
ModuleNotFoundError
的错误,是因为项目的根包(package
)名有xml
,出现这个问题时,项目的src
里有名为xml
的包,之后就会和标准库里的xml
包冲突导致识别不了标准库里的xml
包。修改方式就是不要使用xml
作为根包,应该使用一个根包作为名字,比如com.xxx
这些.C:\\Users\\xx\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\xml
-
第二个是没有正确识别项目的源码根目录,导致
PyCharm
把src
目录也作为包目录,但其实src
并不是包(没有__init__.py
)。修改方式就是选中src
右键->Mark Directory as
->Sources Root
即可从src
内开始识别包.
图2:
以上是关于[Python]_[初级]_[使用PyCharm时不识别根包位置和Debug时报ModuleNotFoundError错误]的主要内容,如果未能解决你的问题,请参考以下文章