質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

3回答

823閲覧

python scripts import ができない

donut4

総合スコア148

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

0グッド

0クリップ

投稿2020/07/06 07:51

###事象
初歩的な質問になってしまうかもしれませんが
python scripts importを実行したら書きエラーが出力されて失敗します。

Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/Users/tom/dev/fni/catalog/scripts/__main__.py", line 1, in <module> from cmdline import cli File "scripts/cmdline.py", line 12, in <module> import mailer File "scripts/mailer.py", line 3, in <module> from email.message import EmailMessage ImportError: cannot import name EmailMessage

###試したこと
モジュールがありませんよと言われているので

pip install --user EmailMessage

を実行したところ...

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support ERROR: Could not find a version that satisfies the requirement EmailMessage (from versions: none) ERROR: No matching distribution found for EmailMessage

###気になること
これ以前にも

ImportError: cannot import name click

など何個か出てたのですがそちらはpip installで解決できました。
なぜEmailMessageのモジュールだけインストールできないかが気になりました。

お詳しい方がいらっしゃいましたら
よろしくお願いいたします。<(_ _)>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yymmt

2020/07/06 10:00

macOSのバージョンとpyenvのバージョンを追記できないでしょうか。 macOS High Sierra(10.13.6)では下記の通り問題はありませんでした。 $ pyenv --version pyenv 1.2.18-4-g5b009e87 $ pyenv install 3.7.0 python-build: use openssl@1.1 from homebrew python-build: use readline from homebrew Downloading Python-3.7.0.tar.xz... -> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz Installing Python-3.7.0... python-build: use readline from homebrew Installed Python-3.7.0 to /Users/guest/.anyenv/envs/pyenv/versions/3.7.0 $ pyenv global 3.7.0 $ python -V Python 3.7.0 $ pip freeze (パッケージは出ない) $ python Python 3.7.0 (default, Jul 6 2020, 18:50:08) [Clang 10.0.0 (clang-1000.10.44.4)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from email.message import EmailMessage >>> EmailMessage() <email.message.EmailMessage object at 0x107a215c0>
guest

回答3

0

File "scripts/mailer.py", line 3, in <module>

from email.message import EmailMessage

Python3用のコードを2.7環境で実行しているようです。Python3環境で実行してください。

なお、どうしても2.7環境で動作させたい場合はemail関連の処理を適切に書き直す必要があります。

参考:
3.x - email: 使用例
2.7 - email: 使用例

投稿2020/07/06 08:02

can110

総合スコア38266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

donut4

2020/07/06 08:40

有り難うございます。 pyenvで3.7.0を導入して python --versionでPython 3.7.0にチェンジまで成功しましたが ERROR: Could not find a version that satisfies the requirement EmailMessage (from versions: none) ERROR: No matching distribution found for EmailMessage が出力されてます。。。
can110

2020/07/06 08:47

EmailMessageは標準モジュールであるemailパッケージに含まれているのでpipインストールする必要はありません。
donut4

2020/07/06 09:39

これが全てのパッケージでなんですが 変なインストールの仕方しちゃってますかね? Package Version --------------- ------- click 7.1.2 numpy 1.19.0 pandas 1.0.5 peewee 3.13.3 pip 20.1.1 python-dateutil 2.8.1 python-dotenv 0.14.0 pytz 2020.1 setuptools 39.0.1 six 1.15.0
guest

0

EmailMessageはpythonに標準で入っているemail.messageモジュールのクラスです。
そしてNew in version 3.6なのでpython3.6以上でないと存在しません。

お使いなのはPython2.7のようなので特に理由がなければupgradeすればよいです。

投稿2020/07/06 07:58

編集2020/07/06 08:00
nouken

総合スコア369

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

donut4

2020/07/06 08:41

インストールしてpython --versionでで確認してPython 3.7.0が出力される確認までしましたが 依然として ERROR: Could not find a version that satisfies the requirement EmailMessage (from versions: none) ERROR: No matching distribution found for EmailMessage が出力されています。
nouken

2020/07/06 08:45

pip installの必要はないはずです。 標準でpythonに入っていませんか?
donut4

2020/07/06 09:39

これが全てのパッケージです。 Package Version --------------- ------- click 7.1.2 numpy 1.19.0 pandas 1.0.5 peewee 3.13.3 pip 20.1.1 python-dateutil 2.8.1 python-dotenv 0.14.0 pytz 2020.1 setuptools 39.0.1 six 1.15.0
guest

0

自己解決

Pythonのバージョンを3.7に上げて要求されているパッケージをインストールしたら
python scripts importを実行できましました。

投稿2020/07/06 09:48

donut4

総合スコア148

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問