场景
- 在使用
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:
|