以下のプログラムを実行したところ2のようにModuleNotFoundError: No module named 'watchdog'のエラーが出てしまいました.
1 実行したプログラム
※aaa.jpgはこのプログラムファイルと同じ階層に保存しました
※このプログラムはtarget_dir = "aaa.jpg"以外文献[3]と同じです.
python
1from watchdog.events import FileSystemEventHandler 2from watchdog.observers import Observer 3 4import os 5import time 6 7target_dir = "aaa.jpg" 8 9 10class ChangeHandler(FileSystemEventHandler): 11 def on_created(self, event): 12 filepath = event.src_path 13 filename = os.path.basename(filepath) 14 print('%sができました' % filename) 15 16 def on_modified(self, event): 17 filepath = event.src_path 18 filename = os.path.basename(filepath) 19 print('%sを変更しました' % filename) 20 21 def on_deleted(self, event): 22 filepath = event.src_path 23 filename = os.path.basename(filepath) 24 print('%sを削除しました' % filename) 25 26 27if __name__ in '__main__': 28 while 1: 29 event_handler = ChangeHandler() 30 observer = Observer() 31 observer.schedule(event_handler, target_dir, recursive=True) 32 observer.start() 33 try: 34 while True: 35 time.sleep(0.1) 36 except KeyboardInterrupt: 37 observer.stop() 38 observer.join()
2 実行結果
bash
1/usr/local/bin/python3 /Users/AM/Desktop/aaa/image_process_Gray.py 2 3The default interactive shell is now zsh. 4To update your account to use zsh, please run `chsh -s /bin/zsh`. 5For more details, please visit https://support.apple.com/kb/HT208050. 6pcAM:aaa AM$ /usr/local/bin/python3 /Users/AM/Desktop/aaa/image_process_Gray.py 7Traceback (most recent call last): 8 File "/Users/AM/Desktop/aaa/image_process_Gray.py", line 1, in <module> 9 from watchdog.events import FileSystemEventHandler 10ModuleNotFoundError: No module named 'watchdog' 11pcAM:aaa AM$
3 試してみたことについて
パスが通ってないことが原因かと考えました.
文献[2]を見ると,Pythonがモジュールの検索の際に見ているパスのリストは
"sys.path"に格納されているとあったので,以下のようにして(文献[1]を参考にして),パスを追加しました.その後,プログラムを起動したのですが,同じく,ModuleNotFoundError: No module named 'watchdog'が出てしまい解決できませんでした.
bash
1pcAM:Web_Image AM$ pip install watchdog 2Requirement already satisfied: watchdog in /Users/AM/.pyenv/versions/3.8.5/lib/python3.8/site-packages (0.10.4) 3Requirement already satisfied: pathtools>=0.1.1 in /Users/AM/.pyenv/versions/3.8.5/lib/python3.8/site-packages (from watchdog) (0.1.2) 4WARNING: You are using pip version 20.1.1; however, version 20.3 is available. 5You should consider upgrading via the '/Users/AM/.pyenv/versions/3.8.5/bin/python3.8 -m pip install --upgrade pip' command. 6pcAM:Web_Image AM$ python 7Python 3.8.5 (default, Dec 3 2020, 15:56:00) 8[Clang 12.0.0 (clang-1200.0.32.27)] on darwin 9Type "help", "copyright", "credits" or "license" for more information. 10>>> import sys, pprint 11>>> pprint.pprint(sys.path) 12['', 13 '/Users/AM/.pyenv/versions/3.8.5/lib/python38.zip', 14 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8', 15 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8/lib-dynload', 16 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8/site-packages'] 17>>> sys.path.append('/Users/AM/.pyenv/versions/3.8.5/lib/python3.8/site-packages') 18>>> pprint.pprint(sys.path) 19['', 20 '/Users/AM/.pyenv/versions/3.8.5/lib/python38.zip', 21 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8', 22 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8/lib-dynload', 23 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8/site-packages', 24 '/Users/AM/.pyenv/versions/3.8.5/lib/python3.8/site-packages'] 25>>> quit() 26
参考にした文献
[1]https://qiita.com/summer/items/7774886e8773b9107869
[2]https://qiita.com/yutoman027/items/7ee796c41575eb0511c3
[3]https://python-minutes.blogspot.com/2017/06/python.html
どなたか,エラーの原因を教えていただけると嬉しいです.
よろしくお願いします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/04 05:22 編集
2020/12/04 06:50
2020/12/04 08:31