前提・実現したいこと
Pythonを使っています。
Google Spread Sheet をAPI経由で操作できるようにするのが目標です。
(今回の場合は特定のセルにHello Worldを出力すること)
こちらの記事に従って進めておりましたが,最後のプログラム実行の段になって下記のエラーが出ています。
発生している問題・エラーメッセージ
Terminal
1C:\makeSchedule>C:/Users/conam/AppData/Local/Programs/Python/Python39/python.exe c:/makeSchedule/main.py 2Traceback (most recent call last): 3 File "c:\makeSchedule\main.py", line 1, in <module> 4 import gspread 5ModuleNotFoundError: No module named 'gspread'
また,vscodeのpylance拡張機能にはImport 'gspread' could not be resolved
と言われています。
該当のソースコード
python
1import gspread 2from oauth2client.service_account import ServiceAccountCredentials 3 4scope = ['https://spreadsheets.google.com/feeds', 5 'https://www.googleapis.com/auth/drive'] 6 7credentials = ServiceAccountCredentials.from_json_keyfile_name( 8 'gspread-makeschedule-880083f96599.json', scope) 9gc = gspread.authorize(credentials) 10wks = gc.open('Dog-for-Campus').sheet1 11 12wks.update_acell('A1', 'Hello World!') 13print(wks.acell('A1')) 14
試したこと
python
1pipenv shell #仮想環境に入る 2python #対話モード開始 3import gspread
上記のように対話モードでimportするとエラーは出ませんでした
#追記
#####どのようにファイルを実行しているか
vscodeの画面右上にあるRun Python File in Terminal Command
ボタンを直接クリックして実行しています。
#####エラーメッセージ全文
上記エラーメッセージを全文に致しました。
補足情報(FW/ツールのバージョンなど)
python3.9.1
vscodeのpylanceが見てるpythonの環境とターミナルのpythonの環境が違うのでは。
ウィンドウ左下にpythonのマークがあるのでそれをクリックしてターミナルの環境に合わせてみてはどうでしょうか。
あとどのように実行しているのかと、エラーの全文を質問に追記してください。
ターミナルのpythonの環境がpipenvで立てていた仮想環境を見ていなかったようです。「ウィンドウ左下にpythonのマークがあるのでそれをクリックしてターミナルの環境に合わせ」たら解決いたしました。ありがとうございました
解決の直接のきっかけとなったこちらをBAさせて頂きたかったのですが,生憎コメントですのでそれができません。しかし解決済みの質問を回答待ちにしておくのも駄目なので,yakitoriさんのコメントをBA扱いとし,一応自己解決として質問を閉じさせて頂きます。本当にありがとうございました
自己解決で全然問題ありません。
該当のモジュールを使ったことがなく、やや当てずっぽうだったのでこちらでコメントしましたが参考になったみたいで良かったです。
回答2件
あなたの回答
tips
プレビュー