VisualStudioCodeでPythonあれこれ

投稿者: | 2021年5月14日

VisualStudioCodeを使って、Pythonのお勉強をしている。
環境構築は、Qiitaなどに記される先人の知恵を拝見し、見よう見まねでコマンドを実行し、とりあえず動くとこまでは来ている。

で、Pythonを使ってTwitterにツイートをしてみるテストを実施していたのだけど、もろもろつまづいたので、自分のメモがてら記しておく。

まず

import twitter

を記述している訳だが、黄色い波線が出ている。
コマンドラインから実行すると実行は出来ている。
ハイライトには以下のアラート表記。

Import “twitter” could not be resolvedPylance reportMissingImports

なんだかよく分からないが、コマンドラインから該当のpyファイルを実行すると動作はしているので、放っていたのだが、気持ちが悪くて悪くて低優先で調べていたのだけど、今日やっと解決したのでメモしておく。

実は、デバッグをする時にブレークポイントを設定して、F5キーを押すのだが、これだと実行が出来なかった。実行時のエラーは以下のメッセージ。

例外が発生しました: ModuleNotFoundError
No module named ‘twitter’ File “/Users/newriver/Desktop/hogehoge/tweetClass.py“, line 2, in <module> import twitter File “/Users/newriver/Desktop/hogehoge/tweetTest.py“, line 1, in <module> import tweetClass

ファイル名、クラス名は私が適当に付けてる名前なので御留意を。

うむ。やはり例の黄波線エラーが絡んでいることは間違いない。
ブレークポイントが使えないならprint()やtry〜except eで標準出力してトラップしてやる!と意地張ってたのだが、めっちゃ効率悪い。実行するたびにツイートされちゃうし。。。

で、いろいろ調べて試行錯誤した結果、VS CodeのPython拡張機能のsettings.jsonに、Pythonの実行実行ファイルを追記してやることとtwitterコンポーネントのPathを書いてやることで解決した。
なのできっと、VS CodeからPythonに対してPathが通ってなかったことが原因だと思われる。

解決手順は、まず、VS Codeの拡張機能でPythonを探して、設定(歯車)マークを押し、「拡張機能の設定」をクリックする。
で、検索窓で

extraPaths

と入力し、extraPathsのSettings.jsonで編集をクリックする。

すると、

“python.autoComplete.extraPaths”: [

],

このようなコードブロックが出来ているので、まずはここにTwitter部品のPathを書いてあげる。★1
twitter部品のPathの調べ方は

which Twitter

と打ってみれば表示されるのでこれをそのままコピペした。(もちろんインストールされてること前提ね)

ただ、これだけでは上手く行かなくて、このブロックの下に以下も追記する。

“python.analysis.extraPaths”: [
]

ここのブロックにもtwitter部品のPathを書いてあげる。
この理由は素人の私にはわからない。おまじないだと思って書いてる。

そして最後に。
上記の★1のコードブロックの上に、

“python.pythonPath”: Python3のパス

を書いて、保存すると、黄波線エラーも消えたし、F5でデバッグ実行することも出来るようになった。

素人の私の拙い説明で何一つ伝わってないと思うが
とにかく、settings.json追加すべきものを以下に記す。

“python.pythonPath”: “/Users/hoge/fuga/python3”,
“python.autoComplete.extraPaths”: [
“/Users/hoge/fuga/twitter”
],
“python.analysis.extraPaths”: [
“/Users/hoge/fuga/twitter”
]

これで上書き保存すると解決した訳です。

ツイートも出来るようになったし、何か面白いこと出来そうな予感☆
お読み頂き、ありがとうございました。