LoginSignup
5
7

More than 3 years have passed since last update.

sudoでPythonファイルを実行したときにImportErrorが起こったときの対処法

Posted at

起こったこと

ラズパイでpythonファイルを自動起動するにはsudoで実行する必要がある。
しかし、普通にpython3 .pyで実行できたファイルがsudoをつけたとたんにImportError: No module named などとエラーを吐いた。
解消に3時間くらいかかったので備忘録。

対処法

  1. ターミナルでpython3を実行
  2. numpyをインポートしてnumpy.__path__でどこを参照しているのか確かめる
  3. 1にsudoをつけて2まで同様に行う。すると先程とは違う参照場所が返ってくるはず
  4. そのままsysをインポートしてprint(sys.path)を実行。/dist-packagesと書いてあるものがあることを確認する。ここでは/usr/lib/python3/dist-packagesがあったとする
  5. cd /usr/lib/python3/dist-packageを実行
  6. sudo nano module.pthで.pthファイルを作る。名前は何でもいい。
  7. 2ででてきたpathを''とか""無しに書き込んで保存

以上でImportErrorを起こさずに実行できた。

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7