

**環境（簡易）**  
osはmac、エディタはatom、言語はpython、コード実行は、atom-runnerを使用

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

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

[code]

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

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

**該当のコード**

[code]

    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)
    
[/code]

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

**試したこと**

  * このコードを、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


CC BY-SA 4.0
2020-09-08T15:29:10.707
70233
2020-09-09T06:08:48.213
2020-09-08T16:34:51.233
32986
41822
question
python google-maps google-api atom-editor pip
googlemapsが、atom起動後1回目のコード実行でしか機能しない　ModuleNotFoundError: No module named 'googlemaps'


## 解決しました

## 結論

コード実行に使用していたパッケージのatom-runnerが原因でした。

コード実行のパッケージを、atom-runnerからscript に変更したら解決しました。  
atom-runnerは、アンインストールする必要がありました。  
atom-runnerがインストールされたままだと、scriptでも同じ現象が起きます。  
（理由は不明）

## やったこと

  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. 解決

<https://qiita.com/akira_ak/questions/a44579fe3b6201cabfba#answer-c647db82f30ff02a7c22>


CC BY-SA 4.0
2020-09-09T06:08:48.213
70248
2020-09-09T06:08:48.213
41822
70233
answer