Ubuntu 20.04安装xmltodict后pip包无法识别求助
问题:Ubuntu 20.04中Python 3.8.10安装xmltodict后无法导入
我在Ubuntu 20.04系统中安装了Python 3.8.10,尝试安装pip包xmltodict,执行以下命令后显示安装成功:
sudo pip3 install xmltodict Collecting xmltodict Using cached xmltodict-0.13.0-py2.py3-none-any.whl (10.0 kB) Installing collected packages: xmltodict Successfully installed xmltodict-0.13.0
但在Python Shell中尝试使用该包时失败:
Python 3.8.10 (default, Jun 22 2022, 20:18:18) [GCC 9.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import xmltodict Traceback (most recent call last): File "<stdin>", line 1, in <module> ModuleNotFoundError: No module named 'xmltodict' >>> exit()
执行pip list或pip show也无法找到该包:
sudo pip3 show xmltodict WARNING: Package(s) not found: xmltodict
解决步骤
1. 确认pip与Python的对应关系
系统中可能存在多版本Python,导致pip3指向的环境和你运行的Python不匹配。执行以下命令核对:
- 查看当前运行的Python路径:
which python3
- 查看
pip3对应的Python版本:
pip3 --version
如果两者路径不一致,说明pip3安装的包不在当前Python的site-packages目录下。
2. 用Python内置pip指定安装
直接通过目标Python版本的-m pip参数安装,确保包进入对应环境:
python3 -m pip install xmltodict
若遇权限问题,可临时加sudo(更推荐用虚拟环境,避免污染系统环境):
sudo python3 -m pip install xmltodict
3. 检查虚拟环境状态
如果之前创建过虚拟环境,当前终端未激活的话,安装的包会被放到系统环境而非虚拟环境中。先激活对应虚拟环境再操作:
# 假设虚拟环境目录为venv source venv/bin/activate pip install xmltodict
4. 手动校验包安装位置
执行命令查看pip的包安装路径:
pip3 show --files xmltodict
若提示找不到包,用Python输出site-packages目录列表,手动检查是否存在xmltodict:
python3 -c "import site; print(site.getsitepackages())"
如果目录下没有该包,重新用对应Python的pip安装。
5. 避免sudo安装(推荐方案)
使用sudo安装容易导致包安装到系统级Python环境,和你实际运行的用户级/虚拟环境Python不匹配。建议创建独立虚拟环境:
# 创建虚拟环境 python3 -m venv myenv # 激活虚拟环境 source myenv/bin/activate # 安装包 pip install xmltodict # 测试导入 python -c "import xmltodict; print('导入成功')"
内容的提问来源于stack exchange,提问作者Aman .sinha
相关产品推荐
相关产品推荐

