当我从12.04将Ubuntu升级到14.04时,这次我收到此错误:
ImportError: No module named datetime
erjiang.. 59
当我创建virtualenv然后从12.04升级到14.04时,这发生在我身上.
我不得不删除我的virtualenv并重新创建它,在这之后,一切都恢复了.
如果您使用virtualenv
,更新它可能会解决此问题
virtualenv /path/to/old/virtualenv/
如果您在尝试续订LetsEncrypt证书时遇到此错误(就像我一样),我在此处找到了解决方案:
https://askubuntu.com/a/850669/668101
删除此文件夹并重新运行LetsEncrypt,它将重新创建所有相关文件并避免此线程中的错误.
rm ~/.local/share/letsencrypt -R
当我创建virtualenv然后从12.04升级到14.04时,这发生在我身上.
我不得不删除我的virtualenv并重新创建它,在这之后,一切都恢复了.
只需运行此命令.它就像一个魅力!
$ cp /usr/bin/python2.7 $(which python2.7)
在14.10更新之后,这恰好发生在我身上,这似乎是因为我的虚拟环境中有旧的副本/usr/bin/python2.7
- 与新的二进制文件不同 - 不包含datetime
内置的,因此当他们无法在磁盘上找到它时会出现错误.新的解释器似乎导入它没有任何文件I/O(尝试在strace下运行它来检查).
更多信息在这里
只需通过以下方式重新初始化virtualenv:
cd <virtualenv-dir> virtualenv .
我尝试通过这些步骤重新安装它.
1. remove the old version of venv 2. virtualenv venv 3. .venv/activate/bin 4. pip install -r requirements/ requirements.txt
而且效果很好.多谢你们 :)