akira_ak
@akira_ak (AKIRA)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

googlemapsが、atom起動後1回目のコード実行でしか機能しない ModuleNotFoundError: No module named 'googlemaps'

環境(簡易

osはmac、エディタはatom、言語はpython、コード実行は、atom-runnerを使用

やっていること

pythonにgooglemapsをインポートし、googleのGeocoding APIを使い、住所から緯度経度を取得しようとしています。

問題

コードは正しく動作し、googlemapsから欲しい情報が取得できます。
しかし、atom起動後の、1回目のコード実行でしか、それが機能しません。
なぜか2回目以降のコード実行では、エラーが出て機能しません。
1回目のコード実行が完了後、再度コードを実行すると、下記エラーが出ます。

Traceback (most recent call last):
File "/************/test_geocode.py", line 1, in <module>
import googlemaps
ModuleNotFoundError: No module named 'googlemaps'

その後は、何度実行を試みても、同じ上記エラーが出るだけです。
ただし、atomを再起動すれば、また1回目の実行時のみ、情報を取得することができます。

該当のコード

test.py
import googlemaps

googleapikey = '自分のAPI_KEY'
gmaps = googlemaps.Client(key=googleapikey)

result = gmaps.geocode('任意の住所')
lat = result[0]["geometry"]["location"]["lat"]
lng = result[0]["geometry"]["location"]["lng"]
print(result)
print (lat,lng)

上記"問題"の項目に記載の通り、コードは合っているはず です

試したこと

  • このコードを、iPadのPythonistaというアプリで実行すると、問題無く何度でも実行、情報を取得できた  →やはりコードは合っているはず。
  • pip install wheel (ネットに情報があった為試したが変わらず)
  • pip uninstall googlemapsとし、easy_install googlemapsを実行した (stack over runに情報があった為試してみた。結果変わらず)
  • atom再起動
  • パソコンの再起動

同じエラー(No module named 'googlemaps')に関する情報は見つけたが、同じ現象に関する情報は見つからず。

環境詳細

  • パソコン:macbookpro macOS Catalina 10.15.6
  • エディタ:atom 1.50.0
  • コード実行:atom-runner 2.7.1
  • python 3.8.5
  • pip 20.2.2
  • pyenv 1.2.20
  • googlemaps 4.42
0

1Answer

一度 Atomをきれいに消してから再度設定してみてはいかがでしょうか。
https://qiita.com/ishizukih/items/9467473e5562ba940c65

rm -rf ~/.atom
rm -rf /usr/local/bin/atom
rm -rf /usr/local/bin/apm
rm -rf /Applications/Atom.app
rm -rf ~/Library/Preferences/com.github.atom.plist
rm -rf ~/Library/Application\ Support/com.github.atom.ShipIt
rm -rf ~/Library/Application\ Support/Atom
rm -rf ~/Library/Saved\ Application\ State/com.github.atom.savedState
rm -rf ~/Library/Caches/com.github.atom
rm -rf ~/Library/Caches/com.github.atom.Shipit
rm -rf ~/Library/Caches/Atom

似たエディターで VSCode や PyCharm などもあるので、
どうしてもだめならそちらでも動作確認するといいと思います。

2Like

Comments

  1. @akira_ak

    Questioner

    ありがとうございます。回答いただいた方法では解決しませんでしたが、ヒントになり、解決しました。
    結論、コード実行に使用していたパッケージのatom-runnerが原因だったみたいです。
    (理由は不明)
    atom-runnerをアンインストールし、コード実行をscriptというパッケージに変えてみたら、問題無く実行できました。なのでエディタはatomのままで大丈夫でした。

    やったこと
    1 回答の通り、Atomを完全削除して再インストール
    2 パッケージatom-runnerをインストール
    3 atom-runnerでコードを実行
    4 また同じ現象が起きた
    5 もう一度同じ方法でatomを完全削除、再インストール
    6 今度はパッケージscriptをインストール
    7パッケージscriptでコードを実行
    8 解決
    9 試しにもう一度atom-runnerをインストール
    10 同じ問題がatom-runner、scriptの両方で起きる
    11 atom-runnerをアンインストール
    12 scriptで再度実行してみる
    13 解決

Your answer might help someone💌