pythonのpyautoguiについて質問です。
こちらの方のサイトからお借りして
https://hashikake.com/PyAutoGUI
python
1import pyautogui 2print('Ctrl+Cを押すと終了します') 3try: 4while True: 5x,y = pyautogui.position() 6position = 'X:'+str(x).rjust(4) + ' Y:'+str(y).rjust(4) 7print(position,end='') 8print('\b' * len(position),end='',flush=True) 9pyautogui.sleep(1) 10except KeyboardInterrupt: 11print('\n終了')
というコードを作ってみました。
すると
ModuleNotFoundError: No module named 'pyautogui'
というエラーがかえってきてしまいました。
なぜエラーになっているのかと解決方法を教えてもらえると助かります。
試したこと
PyAutoGUI インストール済み
pip 最新バージョン
ということは確認しました。
pip install PyAutoGUI
を実行したのと同じ状態で
pip show PyAutoGUI
を実行してください
いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスを記録してください
次に、pythonで
import モジュール名
がうまくいかない状態で、下記のpythonコードを実行してください
import sys
import pprint
pprint.pprint(sys.path)
たくさんパスが表示されますが、その中にpip show...で記録したパスが入ってますでしょうか?
入ってないとimportできません
遅くなってしまってすみません。
その方法を試してみても、パスは入っているんですけれど...
それぞれの実行結果を教えてください
ユーザ名等の個人情報は伏せ字にして構いませんが、実行結果表示は省略せずに全部教えてください
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\----\appdata\local\programs\python\python39\lib\site-packages
Requires: pymsgbox, PyTweening, pyscreeze, pygetwindow, mouseinfo
Required-by:
['C:\\Users\\----\\AppData\\Local\\Temp',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\DLLs',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\lib',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\win32',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\win32\\lib',
'C:\\Users\\----\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\Pythonwin']
です。
sys.pathは大丈夫なようです
c:\users\----\appdata\local\programs\python\python39\lib\site-packages
に、「pyautogui」ディレクトリと「PyAutoGUI-0.9.53.dist-info」ディレクトリはありますか?
両方あるなら、その中にあるファイルを調べてみてください
当方のWin 10パソコンでの、そこにあるファイルのサイズとファイル名は、下記の通りです (dirコマンドの結果)
同じ「PyAutoGUI 0.9.53」なので、一致すると思うのですが、どうでしょうか?
[pyautoguiディレクトリ]
0 _pyautogui_java.py
15,261 _pyautogui_osx.py
20,633 _pyautogui_win.py
15,759 _pyautogui_x11.py
80,963 __init__.py
58 __main__.py
[PyAutoGUI-0.9.53.dist-infoディレクトリ]
2,879 AUTHORS.txt
4 INSTALLER
1,509 LICENSE.txt
7,476 METADATA
1,505 RECORD
0 REQUESTED
10 top_level.txt
92 WHEEL
①「pyautogui」はあるのですが、「PyAutoGUI-0.9.53.dist-info」ではなく、「PyAutoGUI-0.9.53-py3.9.egg-info」というように微妙に違っています。
②[pyautoguiディレクトリ]
ファイル名とサイズはすべて一致しました。
③[PyAutoGUI-0.9.53-py3.9.egg-infoディレクトリ]
top_level.txt (1KB)
以外は全く一致しませんでした。
dependency_links.txt 1 バイト
installed-files.txt 580 バイト
PKG-INFO 8,156 バイト
requires.txt 267 バイト
SOURCES.txt 687 バイト
あれ?
念の為にMacも確認しましたけど、そちらも「dist-info」でした
ファイル名とサイズも、Win 10と全く同じでした
インストール方法は、
pip install pyautogui
ですよね?
https://pypi.org/project/PyAutoGUI/
pip install pyautoguiでインストールしました。
他のファイルには[~dist-info]というファイルがあります。
一応再インストールしてみます。
再インストールしたらうまくいきました!
pyautogui
PyAutoGUI-0.9.53.dist-info
PyAutoGUI-0.9.53-py3.9.egg-info
が入っています。
> 再インストールしたらうまくいきました!
以前のインストールがうまくいってなかったようですね
> pyautogui
PyAutoGUI-0.9.53.dist-info
PyAutoGUI-0.9.53-py3.9.egg-info
が入っています。
三つのディレクトリの中のファイルの作成日時を比べてみてください
全部同じですか?
「egg-info」だけファイル古いということはありませんか?
もしそうなら、そこはおそらく以前のインストールの残骸です
pyautogui 2021/9/9
PyAutoGUI-0.9.53.dist-info 2021/10/23
PyAutoGUI-0.9.53-py3.9.egg-info 2021/9/9
です
ディレクトリそのものではなくて、ディレクトリの中のファイルです
すいません...
pyautogui 2021/10/23
PyAutoGUI-0.9.53.dist-info 2021/10/23
PyAutoGUI-0.9.53-py3.9.egg-info 2021/9/9
です。
やはり、「egg-info」の中のだけファイルが古いですね
そこはおそらく以前のインストールの残骸でしょう
再インストールでファイルが置かれたら、ファイルの作成日時がそこのも「2021/10/23」と変わったはずですが、そうなってないので
回答1件
あなたの回答
tips
プレビュー