webdevqa.jp.net

ImportError:datetimeというモジュールはありません

Ubuntuを12.04から14.04にアップグレードすると、今回は次のエラーが表示されます。

 ImportError: No module named datetime
36
akbsmile

これは、virtualenvを作成してから12.04から14.04にアップグレードしたときに起こりました。

Virtualenvを削除して再作成する必要があり、それを行った後、すべてが再び機能しました。

59
erjiang

このコマンドを実行するだけです。それは魅力のように働いた!

$ cp /usr/bin/python2.7 $(which python2.7)

これは、14.10の更新後に起こったもので、仮想環境には/usr/bin/python2.7の古いコピーがあるため、新しいバイナリとは異なり、datetimeビルトインが含まれていないようです。ディスク上のどこにも見つからない場合はエラーが発生します。新しいインタープリターはファイルI/Oなしでインポートするようです(確認するためにstraceで実行してみてください)。

詳細はこちら

38
artisare

これらの手順で再インストールを試みました。

1. remove the old version of venv
2. virtualenv venv
3. .venv/activate/bin
4. pip install -r requirements/ requirements.txt

そして、それは完全に機能します。みんなありがとう :)

10
akbsmile

次の方法でvirtualenvを再初期化します。

cd <virtualenv-dir>
virtualenv .
8
Hasan Ramezani

LetsEncrypt証明書を更新しようとしたときに偶然このエラーに遭遇した場合(私がしたように)、ここで解決策を見つけました:

https://askubuntu.com/a/850669/668101

このフォルダーを削除してLetsEncryptを再実行すると、すべての関連ファイルが再作成され、このスレッドからのエラーが回避されます。

rm ~/.local/share/letsencrypt -R
7
dug

virtualenvを使用している場合、更新するとこの問題が解決する場合があります

virtualenv /path/to/old/virtualenv/
5
Seg-mel

試してみてください...

>>> import sys
>>> sys.path
[... '/usr/local/lib/python2.7/lib-dynload',...]

lib-dynloadがsys.pathに含まれていない場合、import datetime

確認してください!

2
han058
  1. 仮想環境をクリアし、VIRTUALが仮想環境の名前であることを考慮

    virtualenv --clear VIRTUAL

  2. それを有効にして、requirements.txtからインストールします

    ソースVIRTUAL/bin/activate pip install -r requirements.txt

1
Aneesh R S

Ubuntuを14.04から15.10にアップグレードすると、同じことが起こりました。

Pipをアップグレードしてから、仮想envを削除して再作成することで解決しました。

$ easy_install --upgrade pip
$ rmvirtualenv <my_virtual_env>
$ mkvirtualenv <my_virtual_env>

(私はvirtualenvwrapperを使用しています)

1
Walter B

IntelliJ PyCharmまたはIdeaを使用して日時のインポートの問題に直面し、コンソール/ターミナルから正常に動作する場合は、実行中の構成を複製/再作成する必要があります。

0