kabuステーション APIの開発環境をWSL2上にせっかく作ったのに、 400 Bad Gateway
となってアクセス出来ないのでガチャガチャやってみたが、やっぱりkabuステーション側に制限がかかっていた
(※Windowsに直接Python入れたら即実行出来たので判明。 host.docker.internal
とか network_mode = host
とかやってみたけどダメでした)
【要望】localhost以外からのAPIアクセスについて · Issue #34 · kabucom/kabusapi
このままだと、なんのためにauカブコムの証券口座を開設したかわからなくなってしまうので、仕方ないのでPowerShell上に最低限のPython開発環境を作る事にする
Issueには、Windows上にNginxのリバースプロキシを立てて動いたという事らしいけど、結局Windows環境汚すならもう環境作ってしまえばいいかなと思って環境ごと作る事にした(kabuステーション自体もWindowsでしか動かないし)
作業環境
- Windows Terminal使用
- PoserShell使用
いれるもの
- winget
- git
- vim
- python
PowerShellの設定変更を出来るようにする
Linuxでいう所の、 .bash_profile
みたいな物らしい?PowerShell界では、 .ps1
のファイルがそれにあたるらしい(よく調べてない)
デフォルトでは無効になってるとの事
1 | // 設定確認 |
上記の通り、 Restricted
が表示されたら無効になっています
管理者権限でWindows Terminal(PowerShell)起動し、以下のコマンド実行
1 | // 設定変更 |
管理者権限を抜けてからWindows Terminal(PowerShell)を開き直し、 RemoteSigned
が表示されたら有効になっています
1 | // 設定確認 |
$profile
に、参照している .ps1
ファイルのPATHが格納されているので確認します
1 | // .ps1のPATH確認 |
表示されたファイルにアクセスし、なければ新規作成しておきます(後述するVimのインストール時に、aliasを追加する際に使用します)
インストール: winget
なんでも、Windows版パッケージマネージャという事らしいので入れてみる
- microsoft/winget-cliのReleaseページへアクセス
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
みたいなのがあるので最新版をダウンロードしてインストール
1 | > winget |
インストール: git
1 | > winget install git |
インストール: vim
1 | > winget install vim |
そのままだとPATH通ってないので
1 | // 赤文字でなんか出る(NG) |
先ほど確認した .ps1
ファイルに alias
を追加します
メモ帳とかで、先ほど作成した、 C:\Users\username\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
を開き、
1 | > vim $profile |
aliasを追記
1 | set-alias vi 'C:\Program Files (x86)\Vim\Vim82\vim.exe' |
追記したら、Windows Terminal(PowerShell)で設定を反映
1 | // 設定反映 |
補足: .vimと.vimrc
Linuxでいう所の .vim
ディレクトリは、 ~/vimfiles
というディレクトリが出来ているので、 autoload
とかはここに突っ込むとよい
~/.vimrc
はLinuxと同じ
インストール: python3
1 | > winget install Python.Python.3 |
vimと同じくPATHが通ってないので、 .ps1
ファイルに alias
を追加します
1 | // 追記 |
設定: pip, pipenv
pip
を最新にする
1 | > python -m pip install --upgrade pip |
pip
のPATHが通っていないので、Windowsの環境変数 Path
に以下を追加する(※このPATHは一度 pip
を実行するとWARNINGとして表示されます)
1 | %USERPROFILE%\AppData\Local\Programs\Python\Python39\Scripts |
Windows Terminal(PowerShell)を開き直して、 pipenv
を入れる
1 | > pip install --user pipenv |
pipenv
もPATHが遠てないので、Windowsの環境変数 Path
に以下を追加する
1 | %USERPROFILE%\AppData\Roaming\Python\Python39\Scripts |
Windows Terminal(PowerShell)を開き直して、動作確認
1 | > pip --version |