Python Error : ImportError: No module named 'xml.etree'
Your script name is: xml.py
?
Change it and it should work.
A local .py
file overwrites the pre-defined module. Remove all the files that named xml in the current folder.
Remove the file xml.py
or a directory xml
with a file __init__.py
in it from your current directory and try again. Python will search the current directory first when importing modules. A file named xml.py
or a package named xml
in the current directory shadows the standard library package with the same name.
As pointed out in a comment by KeshV, you also need to remove the file xml.pyc
, if it exists. In Python 2 it will be in the same directory as xml.py
. In Python 3 it will be in the sub directory __pycache__
. In General, as long as the *.py
file is around, you can savely delete the corresponding *.pyc
file because Python will re-create it upon import of the *.py
file.
In addition to the answers that already point to local Python modules: In case you have added other directories to your path, also make sure to check those for modules called xml.py
or packages called xml
.
For me that was the issue when calling Sphinx with a conf.py
file that added several directories to the path.