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

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

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

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

Q&A

解決済

1回答

5059閲覧

Pythonでparamikoをインストールしたが、実行するとModuleNotFoundErrorになる

takahiro00

総合スコア84

Python

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

0グッド

0クリップ

投稿2020/06/27 08:27

編集2020/06/27 08:52

前提・実現したいこと

Pythonでparamikoをインストールしたのですが、
Pythonプログラムをインストールすると、ModuleNotFoundErrorになってしまします。
pip3 listで確認すると
Package Version


bcrypt 3.1.7
cffi 1.14.0
cryptography 2.9.2
paramiko 2.7.1
pip 20.1.1
pycparser 2.20
PyNaCl 1.4.0
scp 0.13.2
scpclient 0.7
setuptools 40.8.0
six 1.12.0
sshclient 0.1
wheel 0.33.1
上記のようになっており、paramikoもインストール済のはずなのですが、
paramikoは以下のコマンドでインストールしています。
python3 -m pip install paramiko

ご教授お願いいたします。

発生している問題・エラーメッセージ

/Users/xx/.conda/envs/xx/bin/python /Users/tetetete/PycharmProjects/xx/xx/xx.py Traceback (most recent call last): File "/Users/xx/PycharmProjects/xx/xx/xx.py", line 1, in <module> from paramiko import SSHClient, AutoAddPolicy ModuleNotFoundError: No module named 'paramiko' Process finished with exit code 1

該当のソースコード

from paramiko import SSHClient, AutoAddPolicy from scp import SCPClient HOST = "xxx" PORT = "xxx" USER = "xxx" PSWD = "xxx" ssh = SSHClient() ssh.set_missing_host_key_policy(AutoAddPolicy()) ssh.connect(HOST, port=PORT, username=USER, password=PSWD) scp = SCPClient(ssh.get_transport())

補足情報(FW/ツールのバージョンなど)

python3.6
pip 20.1.1
実行環境:pyCharm

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

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

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

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

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

yymmt

2020/06/27 09:31

conda installを使わずpipでインストールしたのは特別な理由があるのでしょうか。
takahiro00

2020/07/05 07:52

特に理由はありませんが conda install でもインストールしたのですが、結果変わらずです。。。
aokikenichi

2020/07/11 22:10

python3 -m pip install paramiko したときと同じターミナルで python3 > from paramiko import SSHClient, AutoAddPolicy でどうなるでしょうかこれでエラーなければ インストールに用いたpython3とpyCharmで用いたpythonが異なる可能性があります
guest

回答1

0

ベストアンサー

実行している環境がparamikoをインストールした環境と異なるからではないでしょうか。
どのエディタ、IDEで実行しているのか分かりませんが、実行している環境をparamikoをインストールした環境に合わせれば上手く実行できるようになると思います。


追記
エラーメッセージにPycharmProjectsと書いてあるのでおそらくPycharmなんですかね。

投稿2020/06/27 08:34

編集2020/06/27 08:48
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

takahiro00

2020/06/27 08:48

ご回答ありがとうございます。 PycharmProjectsでインストールしましたがダメでした。。。。
退会済みユーザー

退会済みユーザー

2020/06/27 08:51

いや、エラーメッセージにPycharmProjectsと書いてあったのでIDEがPycharmなのかなーってことです。 紛らわしくてすみません。
takahiro00

2020/06/27 08:53

はい実行環境はPycharmです。 PycharmのTerminalでインストールしています。
退会済みユーザー

退会済みユーザー

2020/06/27 11:06 編集

pythonのプログラムに import sys print(sys.prefix) と書いて実行したときと paramikoをインストールしたターミナルで pip3 show paramiko を実行したときの結果を教えてください。
takahiro00

2020/06/27 14:13

import sys print(sys.prefix) 上記を実行した時の結果が以下です。 /Users/tetetete/.conda/envs/EsiteAuto/bin/python /Users/tetetete/PycharmProjects/EsiteAuto/D/ssh2.py /Users/tetetete/.conda/envs/EsiteAuto Process finished with exit code 0 pip3 show paramiko 上記を実行した結果が以下です。 tetetetenoMacBook-Pro:PycharmProjects tetetete$ pip3 show paramiko WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. Name: paramiko Version: 2.7.1 Summary: SSH2 protocol library Home-page: https://github.com/paramiko/paramiko/ Author: Jeff Forcier Author-email: jeff@bitprophet.org License: LGPL Location: /Users/tetetete/Library/Python/3.7/lib/python/site-packages Requires: bcrypt, pynacl, cryptography Required-by: scp
退会済みユーザー

退会済みユーザー

2020/06/27 15:48

ありがとうございます。 やはりインストールした環境と違う環境で実行しています。 現在の実行環境にparamikoを入れなおすか、実行環境を変更することで解決できそうです。 paramikoを入れなおす場合: pycharmのターミナルで > conda activate EsiteAuto(自分の環境では自動でpycharmの環境にアクティブ化されてたから必要ないかも) > conda install paramiko 実行環境を変更する場合: ウィンドウ右下の「python3.X」をクリックして「Add interpreter...」を選択。 次に「System interpreter」を選択して「/Users/tetetete/Library/Python/3.7/...」を選択。 以上のどちらかの方法でparamikoが使えるようになるかなと。
takahiro00

2020/07/05 07:53 編集

両方試しましたが、ダメでした・・・・ import sys print(sys.prefix)を試した時は以下のようになり、 /Users/tetetete/opt/anaconda3/bin/python3.7 /Users/tetetete/PycharmProjects/EsiteAuto/D/ssh2.py /Users/tetetete/opt/anaconda3 Process finished with exit code 0 pip3 show paramikoを試すと WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. Name: paramiko Version: 2.7.1 Summary: SSH2 protocol library Home-page: https://github.com/paramiko/paramiko/ Author: Jeff Forcier Author-email: jeff@bitprophet.org License: LGPL Location: /Users/tetetete/Library/Python/3.7/lib/python/site-packages Requires: cryptography, bcrypt, pynacl Required-by: scp のようになります。。。。
takahiro00

2020/07/05 07:54

ちなみに他のインストールはうまくいきます
Bindi

2020/07/08 04:33

> $ python3 -m pip install paramiko したのなら > $python3 -m pip show paramiko するとおもうんです。 pip3 の実行と、python3 -m pip では、実行されている pip が異なることがあるから。 それはどうですか?
Bindi

2020/07/08 05:02 編集

あと、anaconda を使っているのですよね? anaconda の [ドキュメント](https://anaconda.org/anaconda/paramiko) をみたら、 > conda install -c anaconda paramiko とありました。なぜ、 > python3 -m pip install paramiko と、しているのでしょうか? pycharm って統合開発環境(IDE)だから (pycharm は実行環境ではない) 、 pycharm のほうでも仮想環境を作ることができるんです。 anaconda の仮想環境と pycharm の仮想環境で、ごっちゃになっていませんか? プロジェクトごとに、どの仮想環境を使うのか指定できるので、それはやってますか? takahiro00 さんが、 > いや、エラーメッセージにPycharmProjectsと書いてあったのでIDEがPycharmなのかなーってことです。 紛らわしくてすみません。 と、聞いているように、聞かれている方も、理解できません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問