Python:datetimeという名前のモジュールはありませんか?


56

OS:Ubuntu 14.04 LTS

Python:2.7.6

Gourmet Recipe Managerをインストールすると、ロードが突然停止しました。ターミナルウィンドウで実行すると、トレースバックの最後に次のメッセージが表示されます。

import datetime as dt
ImportError: No module named datetime

私が知る限り、何も変更されておらず、私のPythonインストールは最新です。昨日仕事をやめただけです。この問題を診断して修正するための優れたアプローチに感謝します!

更新:回答したすべての人に感謝します!

ティム、この質問を間違った場所で聞いてすみません。UbuntuのWebサイトからのリンクをたどるだけで、新しい人であることに気付いてください。

TheSchwa、私はあなたの提案を試み、上記と同じエラーメッセージを受け取りました。

muru、パッケージはインストールされているようですが、正しくインストール/設定されているかどうかはわかりません。どうすればわかりますか?

すべての質問に申し訳ありませんが、私はしばらくの間Linuxから離れていたRedHatの老人です。apt / dpkgのすべては私にとって新しいものです。


これは(ちょうど)ここでのトピックですが、Stack Overflowでより良い応答を得ることができます。また、私はそれを再現することはできません。あなたと同じ設定で、エラーはまったくありません...
ティム14

import datetimePythonインタープリターで試してみるとどうなりますか?ターミナルを開いてを実行すると、インタープリターを起動できpythonます。で残すことができCtrl+dます。
TheSchwa

によるとdpkg -S $(python -c "import datetime; print datetime.__file__")、datetimeモジュールはlibpython2.7-stdlibパッケージからのものです。そのパッケージは正しくインストールされていますか?再インストールできますか?
ムル14

さて、特定のファイルは/usr/lib/python2.7/lib-dynload/datetime.x86_64-linux-gnu.soそのファイルを持っていますか?また/usr/lib/python2.7/lib-dynload、からの出力にリストされていますecho $(python -c "import sys; print sys.path")か?Btw the Stack Exchangeシステムは、投稿を編集するときに実際にコメンターに通知しません。そのため、少なくとも「情報付きの質問を更新しました」などの簡単なコメントを常に投稿してください。そのため、チェックバックするよう通知する通知を受け取ります:)
TheSchwa 14

情報で質問を更新しました。ありがとう、TheSchwa!私の答えは、それぞれnoとyesです。さて、datetime.x86_64-linux.gnu.soの新しいコピーはどこで入手できますか?:)
ジョー14

回答:


84

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

各仮想環境をアクティブにし、実行して修正しました:

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

5
ありがとう、なぜこれが必要なのですか?アップグレード時にPythonを壊すのは面倒です。
サマンサアトキンス

1
このページで他の回答を試してみましたが、うまくいきませんでしたが、これはうまくいきました。
マイケルテリー

2
手に入れたcp: '/usr/bin/python2.7' and '/usr/bin/python2.7' are the same fileが、エラーがまだ存在している
Umair

@Umair activateスクリプトに何か問題がある可能性があります。その場合、通常、アクティベーション後which python2.7、システムPythonへのパスを返すのではなく、環境のPythonへのパスが表示されます。
ブランドンロードス

29

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

cd $VIRTUAL_ENV
virtualenv .

2
それがなければならないことに注意してくださいvirtualenv .代わりにvirtualenv ,
icyrock.com

4
この答えは、Brandon Rhodesの答えよりも優れているようです。
アズキン

virtualenvwrapperを使用すればできますcd $VIRTUAL_ENV
maciek

OSError: [Errno 1] Operation not permitted
セリン

@Cerin、私は同じ問題を抱えていましsudo virtualenv .た。新しいPython実行可能ファイルをインストールするためにを使用してから、全体$VIRTUAL_ENVを正しいディレクトリ所有者に戻しました。
iMitwe

29

アップグレード後にletsencryptを使用しようとすると、このソリューションはletsencryptフォーラムで機能しました-自動インポートを使用できません:error:no module named io / 2345/3

私はこれを削除する必要がありました:

rm ~/.local/share/letsencrypt -R

8
私はまたしなければならなかったrm -rf /opt/eff.org、それを動作させるために
CharlyDelta

7
/opt/eff.orgを削除すると修正されました
Margus Pala

1
私にとっても同じ... /opt/eff.org
cljk

2

私は同じ問題を抱えていましたが、最終的にはAWS CLIでなければならないと判断しました。そこで、AWS CLIをアンインストールして再インストールすると、問題が修正されました。

sudo pip uninstall awscli

sudo pip install awscli


0

14.04でいくつかの変更を見つけたので、ルートからこれを行う必要があります:

日時のみ:


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

あなたの環境に。


3
14.04にアップグレードしましたが、シンボリックリンクを作成する必要はありませんでした。このようなシステムライブラリを台無しにすることは必要であり、避けることができないという証拠を提供できますか?
アンドレアラザロット14

0

Ubuntu 14.04から14.10にアップグレードしたときにエラーが発生しました。virtualenvを再作成すると、問題はなくなりました。したがって、virtualenvで作業している場合は、再作成する必要があります。

ただし、そうしないと、プロジェクトの再インストールが機能すると思います。システムライブラリに触れないでください!それは当分の間は機能しますが、潜在的に他者との問題につながるでしょう。


0

これは、Ubuntuのアップグレード後に発生します。私のお気に入りのソリューションは

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

これにより、既にインストールされているパッケージを削除せずに必要なすべてが更新されます。

更新するvirtualenvが多数ある場合は、次を使用できますxargs

$ ls ~/directory/with/virtualenvs | xargs -L1 virtualenv --no-site-packages
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.