- 在使用PyCharm开发程序时,当我们Debug某个文件时,会报以下错误,什么原因?
Traceback (most recent call last): File "C:Program FilesJetBrainsPyCharm Community Edition 2018.2.5helperspydevpydevd.py", line 15, infrom _pydevd_bundle.pydevd_constants import IS_JYTH_LESS25, IS_PY34_OR_GREATER, IS_PY36_OR_GREATER, IS_PYCHARM, get_thread_id, File "C:Program FilesJetBrainsPyCharm Community Edition 2018.2.5helperspydev_pydevd_bundlepydevd_constants.py", line 168, in from _pydev_imps._pydev_saved_modules import thread File "C:Program FilesJetBrainsPyCharm Community Edition 2018.2.5helperspydev_pydev_imps_pydev_saved_modules.py", line 21, in import xmlrpc.client as xmlrpclib File "C:UsersxxAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 138, in 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:UsersxxAppDataLocalProgramsPythonPython37-32libxml
-
第二个是没有正确识别项目的源码根目录,导致PyCharm把src目录也作为包目录,但其实src并不是包(没有__init__.py)。修改方式就是选中src右键->Mark Directory as -> Sources Root即可从src内开始识别包.
图2:


![[Python] [Python]](http://www.mshxw.com/aiimages/31/503514.png)
