当我从12.04将我的Ubuntu升级到14.04时,这次我收到了以下错误:
ImportError: No module named datetime
当我从12.04将我的Ubuntu升级到14.04时,这次我收到了以下错误:
ImportError: No module named datetime
当我创建了一个虚拟环境并将系统从12.04升级到14.04后,我遇到了这个问题。
我不得不删除我的虚拟环境并重新创建它,之后一切都正常了。
mkvirtualenv $my_venv_name
就解决了我的问题。 - Chriki只需运行此命令。它起作用就像魅力一样!
$ cp /usr/bin/python2.7 $(which python2.7)
在14.10更新后我遇到了这个问题,看起来是因为我的虚拟环境中有旧版本的 /usr/bin/python2.7
—— 与新二进制文件不同——不包括内置的 datetime
模块,因此当它们在磁盘上找不到时会出现错误。新解释器似乎可以在没有任何文件读写的情况下导入它(尝试在 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
它完美地工作了。谢谢大家 :)
rm ~/.local/share/letsencrypt -R
virtualenv
,更新它可能会解决此问题。virtualenv /path/to/old/virtualenv/
Try...
>>> import sys
>>> sys.path
[... '/usr/local/lib/python2.7/lib-dynload',...]
如果在sys.path中没有包含lib-dynload,你将无法import datetime
请检查它!
我在将Ubuntu从14.04升级到15.10时遇到了同样的问题。
我通过升级pip,然后删除并重新创建虚拟环境来解决它:
$ easy_install --upgrade pip
$ rmvirtualenv <my_virtual_env>
$ mkvirtualenv <my_virtual_env>
清空虚拟环境,假设VIRTUAL是虚拟环境的名称
virtualenv --clear VIRTUAL
现在激活它并从requirements.txt安装
source VIRTUAL/bin/activate pip install -r requirements.txt
如果您在使用IntelliJ PyCharm或Idea时遇到了datetime导入问题,而从控制台/终端可以正常工作,则应该只需复制/重新创建运行配置。