问题描述
操作系统:Ubuntu 14.04 LTS
Python:2.7.6
我的Gourmet Recipe Manager安装突然停止加载。当我在终端窗口中运行它时,我会在回溯结束时得到以下内容:
import datetime as dt
ImportError: No module named datetime
据我所知,没有任何改变,我的Python安装是最新的。它只是放弃了昨天的工作。我当然感谢一种诊断和解决这个问题的好方法!
更新:感谢所有回复的人!
蒂姆,如果我在错误的地方提出这个问题,我很抱歉。请简单地按照Ubuntu网站上的链接,将其归结为一个新人。
TheSchwa,我尝试了你的建议并得到了与上面相同的错误信息。
muru,包似乎已安装,但我不知道它是否正确安装/配置。我怎么知道的?
对于所有的问题我很抱歉,但我是一个离开Linux已有一段时间的老RedHat家伙。所有apt /dpkg的东西对我来说都是新的。
最佳解决思路
在14.10更新之后,这恰好发生在我身上,这似乎是因为我的虚拟环境中有/usr/bin/python2.7
的旧副本 – 与新二进制文件不同 – 不包括datetime
内置,因此当它们无法在磁盘上找到它时会出现错误。新的解释器似乎导入它没有任何文件I /O(尝试在strace
下运行它来检查)。
我通过激活并运行来修复每个虚拟环境:
$ cp /usr/bin/python2.7 $(which python2.7)
次佳解决思路
如果你在升级后尝试使用letsencrypt,这个解决方案对我有用letsencrypt forums – Can’t use auto import: error: no module named io/2345/3
我只是删除了这个:
rm ~/.local/share/letsencrypt -R
第三种解决思路
您可以通过以下方式重新初始化virtualenv:
cd $VIRTUAL_ENV
virtualenv .
第四种思路
我有同样的问题,最后决定它必须是AWS CLI,因为我注意到它有自己的python目录。所以我卸载了AWS CLI并重新安装它并解决了这个问题:
sudo pip uninstall awscli
sudo pip install awscli