【5分でわかる】No module named ‘pyautogui’の解決方法

【5分でわかる】No module named 'pyautogui'の解決方法

 

★悩み★
・PyAutoGUIのプログラムを実行したけど異常終了して動かない。
・ModuleNotFoundError: No module named ‘pyautogui’エラーの原因は?
・ModuleNotFoundError: No module named ‘pyautogui’を解決したい。



こういった「悩み」に答えます。
 

★本記事の内容★
① PyAutoGUIとは
➁ No module named ‘pyautogui’が発生した経緯
➂ No module named ‘pyautogui’が発生する原因
④ No module named ‘pyautogui’を解決する手順



本記事を実践したことで、5分くらいで「ModuleNotFoundError: No module named ‘pyautogui’」のエラーを解決できました。
 

記事の前半では「PyAutoGUIとは?」や「No module named ‘pyautogui’の発生経緯」を解説します。

記事の後半では「No module named ‘pyautogui’の発生原因」から「解決する方法」までを紹介します。
  

この記事を読み終えることで、「エラーで動かないPyAutoGUIを解消し、動く状態」になるはずです。

 

 


 

PyAutoGUIとは?

PyAutoGUIとは?


「PyAutoGUIとは?」/「特徴」/「ユースケース(利用場面)」に関しては、以下の記事をご覧ください。
>> 【要点】PyAutoGUIとは?初心者向けに特徴から使い方までを図解

 

また、PyAutoGUIのインストール方法に関しては、以下の記事をご覧ください。
>> 【最短5分】PyAutoGUIをWindowsにインストールする手順
>> 【最短5分】UbuntuにPyAutoGUIをインストールする手順
>> 【最短5分】MacにPyAutoGUIをインストールする手順

 

ウェブブラウザなどの画面操作を自動化をしたい場合、PyAutoGUIを使って無料で実現できます。
続いて、PyAutoGUIを使っているとよく発生する「No module named ‘pyautogui’」に関して紹介しますね。


 

No module named ‘pyautogui’が発生した経緯

No module named 'pyautogui'が発生した経緯


「No module named ‘pyautogui’が発生した経緯」に関して解説します。
 

本事象が発生した当時は、納期が近く、「数時間前までは発生しなかったのになぜ?」と思いつつ、慌てふためいた記憶があります。



筆者は、以下のようなPythonプログラムをWindows上で実行しようと考えていました。

# -*- coding: utf-8 -*-
from cmath import e
import pyautogui as pag
from time import sleep
import subprocess
import pyperclip


### Main
## Chromeをシークレットモードで起動する
chrome_path = r"chrome.exe"
subprocess.Popen(['start', chrome_path, '--incognito'], shell=True)
sleep(2)


## Google検索をする
pag.hotkey('ctrl', "e")
sleep(2)

pag.hotkey('ctrl', "a")
sleep(2)

pyperclip.copy('駆け出し物語')
pag.hotkey("ctrl", "v")
sleep(2)

pag.press("enter")

print("WindowsにインストールしたPyAutoGUIでGoogle検索を実施しました。")



ちなみに、上に記載したPyAutoGUIを使ったプログラムの詳細を知りたい方には、以下の記事がオススメです。
>> 【最短5分】PyAutoGUIをWindowsにインストールする手順
 

上記プログラムを「pyautogui-test.py」と保存しました。

保存したプログラムを実行するために、以下のコマンドを実行したところ、「ModuleNotFoundError: No module named ‘pyautogui’」が発生しました。

python pyautogui-test.py
Traceback (most recent call last):
  File "C:\Users\user\Desktop\work\pyautogui-test", line 1, in <module>
    import pyautogui
ModuleNotFoundError: No module named 'pyautogui'


 

本事象は、以下の日時と環境で発生しました。
動作確認済み日時:2022年9月13日
動作確認済み環境:
・CentOS Linux release 7.7.1908 (Core)
・Windows 11 pro



以上が、「No module named ‘pyautogui’が発生した経緯」となります。
 

No module named ‘pyautogui’が発生する原因

No module named 'pyautogui'が発生する原因


「No module named ‘pyautogui’が発生する原因」に関して解説します。
 

No module named ‘pyautogui’が発生する原因としては、「実行したプログラムからPyAutoGUIモジュールを参照できない」となります。



本事象(ModuleNotFoundError: No module named ‘pyautogui’)が発生する原因は、以下となります。
 

★ModuleNotFoundError: No module named ‘pyautogui’の発生原因★
エラーの意味:
 「pyautoguiというモジュールが見つからない」です。
エラー箇所:
 import pyautogui部分でエラーを引き起こしています。
原因:
 プログラムから「PyAutoGUIモジュールを参照できない」ためです。
 参照できない理由としては、主に以下が考えられます。
 ・PyAutoGUIがインストールされていない
 ・PyAutoGUIのインストール先を参照できていない



以上が、「No module named ‘pyautogui’が発生する原因」となります。
 

No module named ‘pyautogui’を解決する手順

No module named 'pyautogui'を解決する手順


「No module named ‘pyautogui’を解決する手順」に関してご紹介します。
 

★解決方法★
方法1:PyAutoGUIがインストールされていることを確認
方法2:Pythonプログラムが参照するモジュールのPATHを確認



以降で、上記手順の各項目に関してご説明します。
 

方法1:PyAutoGUIがインストールされていることを確認

「方法1:PyAutoGUIがインストールされていることを確認」に関して説明します。
 

そもそもPyAutoGUIがインストールされているかを確認しましょう。



PyAutoGUIがインストールされていることを確認するために、以下のコマンドを実行してください。

C:\Users\user\Desktop\work\pyautogui>pip show pyautogui
Name: PyAutoGUI
Version: 0.9.53
Summary: PyAutoGUI lets Python control the mouse and keyboard, and other GUI automation tasks. For Windows, macOS, and Linux, on Python 3 and 2.
Home-page: https://github.com/asweigart/pyautogui
Author: Al Sweigart
Author-email: al@inventwithpython.com
License: BSD
Location: c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages
Requires: mouseinfo, pygetwindow, pymsgbox, pyscreeze, PyTweening
Required-by:

C:\Users\user\Desktop\work\tmp\pyautogui>



コマンド実行後、「Location行にPATHが表示された」場合、「PyAutoGUIがインストールされている」と判断できます。
 

ちなみに、PyAutoGUIのインストール方法に関しては、以下の記事をご覧ください。
>> 【最短5分】PyAutoGUIをWindowsにインストールする手順
>> 【最短5分】UbuntuにPyAutoGUIをインストールする手順
>> 【最短5分】MacにPyAutoGUIをインストールする手順
 

Location行にPATHが表示されているが、「ModuleNotFoundError: No module named ‘pyautogui’」が出力される場合は、次の「方法2」を試してください。
 

方法2:Pythonプログラムが参照するモジュールのPATHを確認

「方法2:Pythonプログラムが参照するモジュールのPATHを確認」に関して解説します。
 

PyAutoGUIモジュールがインストールされたPATHをPythonプログラムから参照できているかを確認しましょう。



Pythonプログラムの冒頭に、以下の処理を追加してください。

import sys # 追加
print(sys.path) # 追加
import pyautogui



追加後、Pythonプログラムを実行します。

C:\Users\user\Desktop\work\pyautogui>python pyautogui-test.py
['C:\\Users\\user\\Desktop\\work\\pyautogui', 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.1776.0_x64__qbz5n2kfra8p0\\python310.zip', 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.1776.0_x64__qbz5n2kfra8p0\\DLLs', 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.1776.0_x64__qbz5n2kfra8p0\\lib', 'C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0', 'C:\\Users\\user\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages', 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.1776.0_x64__qbz5n2kfra8p0', 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.1776.0_x64__qbz5n2kfra8p0\\lib\\site-packages']



コマンド実行後、「方法1で確認したPATHが存在しなかった」場合、「PythonプログラムからPyAutoGUIがインストールされたPATHを参照できていない」と判断できます。
 

Pythonプログラムに以下の処理を追加することで、PythonプログラムからPyAutoGUIがインストールされたPATHを参照できるようになります。

import sys # 追加
sys.path.append('c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages') # PyAutoGUIがインストールされたPATHを追加
import pyautogui



上記の2つの方法で、「ModuleNotFoundError: No module named ‘pyautogui’」を解消できました。
 

No module named ‘pyautogui’が発生しても慌てる必要はないです。
エラー内容を理解し、一つ一つ原因をつぶすことで本問題を解消できるはずです。



ちなみに、「PyAutoGUIでExcelやWordの操作を自動化する方法は?」や「Pythonを基礎から体系的に学ぶ方法は?」などを知りたい方には、以下の記事で紹介している本や教材がオススメです。
>> PyAutoGUIの入門に役に立つオススメ本や教材6選

  

【まとめ】No module named ‘pyautogui’の解決方法

【まとめ】No module named 'pyautogui'の解決方法


いかがでしたでしょうか?

上記で紹介した「2つの解決方法」を実践していただくと、「ModuleNotFoundError: No module named ‘pyautogui’」を迷わずに解消できるようになります。

最後にもう一度内容を確認しましょう。
 

★ No module named ‘pyautogui’の原因と解決方法★
・No module named ‘pyautogui’の原因は2つ
 1つ目:PyAutoGUIがインストールされていない
 2つ目:PyAutoGUIがインストールされたPATHを参照できていない
・No module named ‘pyautogui’の解決方法は2つ
 1つ目:PyAutoGUIをインストールする
 2つ目:sys.path.appendを使う



さらに体系的にPyAutoGUIを学習したい方には、本ブログで紹介している記事がオススメです。
>> 本ブログで紹介している入門者のためのPyAutoGUI記事一覧

 

 


 

コメント

タイトルとURLをコピーしました