LoginSignup
0
1

Visual Studio Code で Python のプログラムを書いてみた(その2)

Last updated at Posted at 2021-12-28

はじめに
Visual Studio Code で Python のプログラムを記述し "Hello Python!" と表示をさせた。
Visual Studio Code で Python のプログラムを書いてみた(その1)

これで、あとは コードを書いていくだけ・・・と思っていたら 次の2点でハマってしまった。

  1. Anaconda (Python用 プラットフォーム) が使えない
  2. [import serial] という単純な ライブラリー が読み込まれない
    ※2. の原因は、1. であった。

職場では、何も問題なくVisual Studio Code 上で Anaconda が問題無く動作をしているにも関わらず
自宅では、同じ様に環境を構築したはずなのに 思った様に動いてくれない。

数日、悩んだ結果 対策が分かった (疑問もあるが・・) ので 記述する。

尚、職場と自宅で 異なるのは 職場(Windows10) / 自宅(Windows11) であり もともと
Windows11 に Update する以前に Visual Studio Code / Anaconda 共々インストールを
していたので無関係と思われる。


1.Anaconda (Pyton用 プラットフォーム)を選択する
<Ctrl> + <Shift> + <P> で コマンドパレットを開き[Python:インタープリンターを選択]において
使用するインタープリターを選択する。
 ※Anaconda を選択する。(職場ではAnacondaを使っている人が多いという理由)
 以前、訳も分からず Anaconda他 Python の複数のパッケージをインストールしている。
 故に事前にAnacondaをPC上にインストールする必要があるのかとも思う。
image.png
image.png

2.Anaconda を動作する
インタープリンターを選択しただけでは、VS Code は下記エラーを出す。
image.png

そこで <Ctrl> + <Shift> + <P> で コマンドパレットを再度開き
[ターミナル:規定のプロファイルを選択] において [Command prompt C:\WINDOWS\SYSTEM32\cmd.exe]を選ぶ
image.png
image.png

ここで、一度 Visual Studio Code を閉じ 再起動をする。
再起動後 [ターミナル] - [新しいターミナル] を選ぶ

image.png

すると 以下の様に Anaconda Prompt(Anaconda3) が起動する
image.png

尚、ターミナルのプログラムの指定を出来るのは、 Visual Studio Code の左下 歯車から
[設定] を選び、[機能] - [ターミナル] - [settings.jsonで編集] において 下図の様な設定に
なっている場合である。

image.png
image.png

{
    "C_Cpp.updateChannel": "Insiders",
    "python.defaultInterpreterPath": "C:\\Users\\xxxx\\anaconda3\\python.exe",
    "terminal.integrated.defaultProfile.windows": "Command Prompt",
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell"
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        },
        "Git Bash": {
            "source": "Git Bash"
        },
        "base": {
            "path": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
        }
    }
}

3. Python で Serial 通信を行う準備
ここまでで、ようやく Visual Studio Code で Pythonが使える様になった。

シリアル通信を行うためには、Visual Studio Code のターミナル上で下記を実行

pip install pyserial

4.プログラムを作成
 下記のプログラムは、Digital Multi Metter(HIOKI DMM7276) を USB接続 <仮想シリアルポート(COM8)>
 で PCと接続させコマンド [*IDN?] で、 測定器識別情報を取得す簡単なプログラム
 [HIOKI,DM7276-01,211126428,V1.07] と応答がある。やっと出来た!

import serial

SerDevice = serial.Serial('COM8', 115200, timeout=1)

SerDevice.write("*IDN?".encode())

#end of Command
SerDevice.write(b"\r")

L_RecieveData=SerDevice.readline()
RecieveData = L_RecieveData.decode()
print(RecieveData)

SerDevice.close()

思うこと
検索をして調べてみると、多くの人が同じ様な問題に遭遇していることが分かる。
でも、そこで示されている解決方法のどれも自分には、当てはまらなかった。
Anaconda と Visual Studio Code のインストール順やPlatformIOというマイコン用のIDE
を入れ Python だけでなく 複数の環境で使っているためなのであろうか。
にもよるのだろうか?

それにしても・・・もっと素直に動いて欲しいと思う。なぜ、職場では問題無く動作する?

ふと思いましたが、もしかして 私の場合 Windows11 にしたため Power Shell の権限が変わり
Anaconda をはじく様になったのだろうか?

Power Shell の権限を変えると素直に動くのでしょうか?

また、調べてみます。



☆2021年12月28日(火) 午前10時40分 初版(Ver1.00) 作成
☆2021年12月29日(水) 午後 0時15分 Ver1.10:言語指定してカラーライズを行った
☆2021年12月30日(水) 午後 4時35分 Ver2.00:全体を見直し書き直し
☆2023年09月06日(水) 午後 3時10分 Ver2.01:間違い修正


0
1
1

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
0
1