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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

2回答

16799閲覧

ModuleNotFoundError: No module named 'xxxx'

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

2クリップ

投稿2018/05/02 10:10

お世話になります。phthon初心者です。

pyファイルを動かそうとコマンドプロンプトで
abc.py を打ったところエラーが出ました。

ModuleNotFoundError: No module named 'xxxx' です。

Traceback (most recent call last): File "C:\abc.py", line 6, in <module> import xxxx ModuleNotFoundError: No module named 'xxxx'

xxxxはモジュール名なので、エラーでgoogleで検索をかけました。

https://web.plus-idea.net/2017/05/python-import-error-no-module-name/

すると、”これはそのようなモジュールが見つけられないことを示している。”
そのため対処法としてパスを与えてあげればよい という事がわかりました。

まずxxxxがインストールされている場所を確認しました。以下にありました。

C:\Users\ユーザ名が入る\AppData\Local\Programs\Python\Python36\Lib\site-packages

実行したABC.pyは自分で作成したフォルダ場所に格納しています。
C:\pythonfiles\abc

ちなみにアナコンダは以下にあります。
C:\ProgramData\Anaconda3\Lib\site-packages

次にディレクトリがどこに格納されているかを確認する為にpythonコマンドで

>>import sys >>print(sys.path)

を入力した所以下のように表示されました。

['', 'C:\ProgramData\Anaconda3\python36.zip', 'C:\ProgramData\Anaconda3\DLLs', 'C:\ProgramData\Anaconda3\lib', 'C:\ProgramData\Anaconda3', 'C:\ProgramData\Anaconda3\lib\site-packages', 'C:\ProgramData\Anaconda3\lib\site-packages\win32', 'C:\ProgramData\Anaconda3\lib\site-packages\win32\lib', 'C:\ProgramData\Anaconda3\lib\site-packages\Pythonwin']

そこで

import sys sys.path.append("C:/Users/ユーザ名が入る/AppData/Local/Programs/Python/Python36/Lib/site-packages")

を叩き、printコマンドで上記ディレクトリがある事を確認しました。
C:/Users/ユーザ名が入る/AppData/Local/Programs/Python/Python36/Lib/site-packages"

しかし、ctrl+shift+zでpythonを終了させたからか、コマンドプロンプトで
abc.py を打ったところエラーが出ます。同じエラーで
ModuleNotFoundError: No module named 'xxxx' です。

ディレクトリを確認しましたが、

>>import sys >>print(sys.path)

C:/Users/ユーザ名が入る/AppData/Local/Programs/Python/Python36/Lib/site-packages"
は反映されておりませんでした。

ModuleNotFoundError: No module named 'xxxx' のエラーをなくすには パスを追加すればなおるのでしょうか?
具体的にどのようにやればいいのでしょうか?

宜しくお願いします。

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

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

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

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

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

YouheiSakurai

2018/05/02 17:34

長いです。もう少し要点をまとめた質問にした方が良いと思います。
guest

回答2

0

abcはシステムに元々あるモジュールの名前と衝突します。基本的に使っちゃ駄目なファイル名です。(他にtest.pyなども同様に使っちゃ駄目)

sys.path.append()は一回きりとか特定ソース内だけでパスを追加したいときに使います。この方法で行くなら毎回プログラムの先頭に書いてあげる必要があります。

毎回書かなくても良い方法もありますが、それは必要になったら調べて頂くとして。今回は恐らくそうする必要はありません。anaconda側から使いたいモジュールをインストールしてあげるのが正しい対処と思います。

投稿2018/05/02 15:20

hayataka2049

総合スコア30933

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

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

退会済みユーザー

退会済みユーザー

2018/05/02 15:36 編集

>anaconda側から使いたいモジュールをインストールしてあげるのが正しい対処と思います。 現状anaconda側に、もともとのパイソンの site-packages を全部コピーしました。(重複ファイルのみコピーを飛ばしました) この対応で正しい対処という事でしょうか?もともとのパイソンがわのsite-packagesフォルダの中身は全て消去でよろしいですか?
hayataka2049

2018/05/02 15:39

anacondaのパッケージ管理システムから入れてください。コピーしたファイルは元に戻しておいてください・・・(最初からあったファイルは絶対に消さないで・・・) ある程度メジャーなライブラリはcondaで入りますし、condaで駄目なときはanaconda上のpipで入れる方法で入れてください。 https://qiita.com/t2y/items/2a3eb58103e85d8064b6 https://qiita.com/mckeeeen/items/d4cbe4a16a102157f40c
hayataka2049

2018/05/02 15:42

基本的にパッケージ管理はパッケージ管理システムを使って行います。site-packages以下を直接手でいじったりすることは慎むべきです
退会済みユーザー

退会済みユーザー

2018/05/02 15:44

なるほど。ではsite-packagesは元に戻し anacondaを正としてpipで入れればオッケーですか?
hayataka2049

2018/05/02 15:52

condaで入るかまずは試してみてください。condaで入らないときはanaconda上のpipで入れるしかありませんが、condaで入るならその方が安全なはずです
退会済みユーザー

退会済みユーザー

2018/05/02 15:59

なるほど。condaで一覧表示して、検索して、インストですね。入らなかった場合はanaconda上のpipとありますが理解できません。初心者でごめんなさい。コマンドプロンプト上でphthonを叩いて$ conda list ではないのでしょうか? anaconda上のpipのコマンドは >$ pip install <パッケージ名> >を実行すると、デフォルトの環境にインストールされてしまいAnaconda環境で使うことができません。 とあるので使ってはいけないのかと思いました。
hayataka2049

2018/05/02 16:02

二番目に貼ったページをもう一回よく読み直してください・・・anaconda環境をactivateすれば使えると書いてあります
退会済みユーザー

退会済みユーザー

2018/05/02 16:05

丁寧にありがとうございます。 そもそもanacondaとcondaの違いがわかりません。 パイソンっていう言語に対して、様々なモジュールがあります。便利なモジュールですが1つ1つインストするのは面倒なので、anacondaってものがあると、まとめてパッケージとしてインストされるという認識です。 condaってなんですか?すみません。
退会済みユーザー

退会済みユーザー

2018/05/02 16:07

>>> conda info -e File "<stdin>", line 1 conda info -e ^ SyntaxError: invalid syntax >>> とエラーが出てしまいます。初心者ですみません。
退会済みユーザー

退会済みユーザー

2018/05/02 16:09

base * C:\ProgramData\Anaconda3 C:\Users\ユーザ名> コマンドプロンプトで上記が出たのですが、以下の意味がわかりません。 $ source activate <インストールしたいAnaconda環境>
退会済みユーザー

退会済みユーザー

2018/05/02 16:12

C:\Users\keisuke>activate <"C:/ProgramData/Anaconda3"> コマンドの構文が誤っています。 どこが間違っているのでしょうか?
guest

0

ファイル名をabc.py以外にするとどうなりますか。例えばabd.pyとか。

投稿2018/05/02 10:14

wakame

総合スコア1170

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

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

退会済みユーザー

退会済みユーザー

2018/05/02 10:24

名前を変えて コマンドプロンプトで python adc1.py をうったところ いきなり秀丸が開きました。 コマンドプロンプトにエラーはでておりません。
退会済みユーザー

退会済みユーザー

2018/05/02 10:27

ファイル名称をもどし、コマンドプロンプトを再起動しましたが、やはり同じエラーが出てしまいます。
退会済みユーザー

退会済みユーザー

2018/05/02 10:28

import sys sys.path.append("C:/Users/ユーザ名が入る/AppData/Local/Programs/Python/Python36/Lib/site-packages") このコマンドを打った直後は >>import sys >>print(sys.path) でパスが追加されているのですが、pythonをシャットダウンすると、パスが追加されていないのです
退会済みユーザー

退会済みユーザー

2018/05/02 10:30

また試しに①のディレクトリのファイルを ②に格納したところ 正常に動きました。 ① C:\Users\ユーザ名\AppData\Local\Programs\Python\Python36\Lib\site-packages ②アナコンダディレクトリ C:\ProgramData\Anaconda3\Lib\site-packages しかし、これからも①ディレクトリを使用する為、①ディレクリのパスを追加したいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問