我用setup.py文件下载了一个第三方库文件(.egg),pip list列表中显示我成功安装了该库,但是再编译的时候就报错说库不存在。编译环境用的没有问题,和安装库成功的环境相同。
麻烦给解决解决吧,困扰好几天了😶
引自免费微信小程序:皆我百晓生
根据您提供的信息,尽管在终端中运行pip list
时能够看到cleverhans
库已安装,但在实际编译运行代码时仍然出现了ImportError: No module named 'cleverhans'
的错误。这种情况可能由以下几个原因导致:
环境不一致:您提到“编译环境用的没有问题,和安装库成功的环境相同”,但有时即使环境看似相同,也可能存在细微差别,比如激活的Python虚拟环境不同(确认当前Python解释器是否与安装库时的解释器一致)。
检查方法:
which python
# 确认这与您安装 cleverhans 库时使用的 Python 路径一致
库安装位置问题:Python 在导入模块时会按照 sys.path
列表中的路径查找。如果安装的库位于不在该列表中的位置,则会导致找不到模块。
您可以检查一下 cleverhans
是否真的安装到了当前环境下的 site-packages 目录中,例如:
(test01)cjk@amax:~$ ls /home/cjk/.conda/envs/test01/lib/python3.5/site-packages | grep cleverhans
Python版本不兼容:虽然您安装了支持 Python 3.5 的 cleverhans 版本,但由于 Python 3.5 已经不再维护,并且 pip 提示未来将不再支持此版本,所以有可能是由于 Python 版本过旧导致的问题。建议升级到一个更高、仍受支持的 Python 版本。
库文件损坏或未正确安装:有时候 .egg
文件或其他类型的安装包可能因为网络传输或其他原因造成安装不完整或文件损坏,尝试卸载后重新安装并确保安装过程无误。
卸载并重新安装库:
pip uninstall cleverhans
pip install cleverhans
激活的 Conda 环境问题:当使用 Conda 创建虚拟环境时,请确保在执行程序时该环境已被激活。请检查命令行提示符以确认是否显示当前活动的环境名 (test01)
。
针对上述情况,请逐个排查,尤其是检查环境一致性以及库的实际安装位置。此外,考虑到 TensorFlow 版本为 1.0.0,同时也有不少过时的依赖包,建议更新所有相关库至最新稳定版以确保兼容性。