メールモジュールをまったくインポートできないようです。実行するたびにエラーが発生します。 Pythonと再インストールを試みましたが、電子メールモジュールが機能しません。「pip install email」を実行しましたが、まだ壊れています。Windows7 Home Premiumを使用しています。 x64、Pythonのx86バージョンを実行。
発生することは次のとおりです。
c:\Users\Nicholas\Desktop>python
ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import email
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "email.py", line 1, in <module>
import smtplib
File "C:\Python27\lib\smtplib.py", line 46, in <module>
import email.utils
ImportError: No module named utils
>>>
編集:私はPythonを試しました。ActivePythonが機能するかもしれないと思っています。とにかくpythonとそのすべてのデータと多分100%新鮮に始めますか?
email.py
という名前のファイルがあるようです。 Python標準ライブラリモジュールと同じ名前のファイル名は使用しないでください。通常、作業ディレクトリはモジュールをインポートするための検索パスPythonそのため、作業ディレクトリ内のファイルは、標準ライブラリ内の同じ名前のモジュールをオーバーライドします。
手がかり:トレースバックのパス名に注意してください
File "email.py", line 1, in <module>
import smtplib
File "C:\Python27\lib\smtplib.py", line 46, in <module>
import email.utils
ところで、これは非常に一般的なエラーです。 Python標準ドキュメントセットの優れたチュートリアルは、それについて説明しています here 。
私はちょうどこのエラーに出くわしたので、自分のソリューションを共有したいと思いました。私の場合、ディレクトリにemail.py
という名前のファイルがありました。これにより、Pythonのemail.py
と私のファイルの間に名前の競合が発生しました。 smtplibがimport email.utils
を試みたとき、それは私のファイルを見て、何も見つかりませんでした。 email.py
のコピーの名前をmyemail.py
に変更した後、すべてがチャームのように機能しました。
私もこのエラーに遭遇しました。 email.pyを別の名前に変更することに加えて、remove email.pyc(Cに注意)ファイルも必要です。その後、すべてが順調です。皆さんありがとう!
プロジェクトディレクトリにemail.pyという名前のファイルがあったため、この問題も取得しました。 import urllib.requestができませんでした。ファイル名email.pyをemailtest.pyに変更すると、エラーはなくなりました。 python coreファイル名と同じ名前を使用するべきではありません。