Python:没有名为datetime的模块?

操作系统: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论坛 – 无法使用自动导入:错误:没有名为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

我在14.04发现了一些变化所以你需要从root做到这一点:

仅限日期时间:

 ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/datetime.so 

对于所有模块:

 ln -s /usr/lib/python2.7/lib-dynload/audioop.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/audioop.so ln -s /usr/lib/python2.7/lib-dynload/_bsddb.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_bsddb.so ln -s /usr/lib/python2.7/lib-dynload/bz2.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/bz2.so ln -s /usr/lib/python2.7/lib-dynload/_codecs_cn.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_cn.so ln -s /usr/lib/python2.7/lib-dynload/_codecs_hk.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_hk.so ln -s /usr/lib/python2.7/lib-dynload/_codecs_iso2022.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_iso2022.so ln -s /usr/lib/python2.7/lib-dynload/_codecs_jp.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_jp.so ln -s /usr/lib/python2.7/lib-dynload/_codecs_kr.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_kr.so ln -s /usr/lib/python2.7/lib-dynload/_codecs_tw.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_codecs_tw.so ln -s /usr/lib/python2.7/lib-dynload/crypt.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/crypt.so ln -s /usr/lib/python2.7/lib-dynload/_csv.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_csv.so ln -s /usr/lib/python2.7/lib-dynload/_ctypes_test.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_ctypes_test.so ln -s /usr/lib/python2.7/lib-dynload/_ctypes.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_ctypes.so ln -s /usr/lib/python2.7/lib-dynload/_curses_panel.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_curses_panel.so ln -s /usr/lib/python2.7/lib-dynload/_curses.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_curses.so ln -s /usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/datetime.so ln -s /usr/lib/python2.7/lib-dynload/dbm.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/dbm.so ln -s /usr/lib/python2.7/lib-dynload/_elementtree.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_elementtree.so ln -s /usr/lib/python2.7/lib-dynload/fpectl.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/fpectl.so ln -s /usr/lib/python2.7/lib-dynload/future_builtins.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/future_builtins.so ln -s /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_hashlib.so ln -s /usr/lib/python2.7/lib-dynload/_hotshot.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_hotshot.so ln -s /usr/lib/python2.7/lib-dynload/_json.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_json.so ln -s /usr/lib/python2.7/lib-dynload/linuxaudiodev.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/linuxaudiodev.so ln -s /usr/lib/python2.7/lib-dynload/_lsprof.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_lsprof.so ln -s /usr/lib/python2.7/lib-dynload/mmap.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/mmap.so ln -s /usr/lib/python2.7/lib-dynload/_multibytecodec.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_multibytecodec.so ln -s /usr/lib/python2.7/lib-dynload/_multiprocessing.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_multiprocessing.so ln -s /usr/lib/python2.7/lib-dynload/nis.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/nis.so ln -s /usr/lib/python2.7/lib-dynload/ossaudiodev.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/ossaudiodev.so ln -s /usr/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/parser.so ln -s /usr/lib/python2.7/lib-dynload/pyexpat.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/pyexpat.so ln -s /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/readline.so ln -s /usr/lib/python2.7/lib-dynload/resource.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/resource.so ln -s /usr/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_sqlite3.so ln -s /usr/lib/python2.7/lib-dynload/_ssl.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_ssl.so ln -s /usr/lib/python2.7/lib-dynload/termios.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/termios.so ln -s /usr/lib/python2.7/lib-dynload/_testcapi.x86_64-linux-gnu.so /usr/lib/python2.7/lib-dynload/_testcapi.so 

此外,如果您使用虚拟环境副本

 cp $(which python2.7) /opt/graphite/bin/python 

到你的环境

当我从Ubuntu 14.04升级到14.10时出现错误。 我重新创建了我的virtualenv,问题就消失了。 所以如果你正在使用virtualenv,你应该重新创建它。

但是,如果您不这样做,我想重新安装您的项目将会起作用。 不要触摸任何系统库! 它可以暂时工作,但可能会导致与他人的问题。

这是在一些Ubuntu升级之后发生的。 我最喜欢的解决方案是

 $ virtualenv --no-site-packages path/to/virtualenv/dir 

这将更新所需的一切而无需删除已安装的软件包。

如果您有许多virtualenvs要更新,您可以使用xargs

 $ ls ~/directory/with/virtualenvs | xargs -L1 virtualenv --no-site-packages