hmPython3 インストール出来ても使えないライブラリ
概要
前節でhmPython3へのモジュールのインストール方法を紹介しましたが、
ここでは、「ライブラリによっては、hmPython3では使えない」ということが説明されています。
「numpy」や「pythonnet」は使えない
hmPython3は、その性質上、
1つのプロセス内で、プロセスを終了することなく、
「複数回」実行する必要
があります。
しかも複数回実行する度に、実行状態(環境のスコープ状態)を初期化する必要があります。
最初からPythonに付属しているライブラリについては、原則、この複数回の初期化に対応していますが、
サードパーティ製のライブラリについては、この「複数回の初期化」に対応していないものがあります。
元々複数回の初期化に対応していない「numpy」や
1回実行すると、ガベージコレクト任せなため、解放までに時間がかかってしまう「pythonnet」などがこれに該当します。
失敗することの確認。Package Indexを探す
numpyのPackage IndexのURLは
となります。
自分のバージョンにマッチする、Wheelファイルのダウンロード
PythonDev.batのバッチファイルが用意されている
hmPython3には秀丸フォルダのサブディレクトリの「HmPython3」フォルダ内に、
「PythonDev.bat」が用意されており、これを利用することで、
「パスが通っていないPythonに一時的にパスを通し、少し楽にコマンドを打つことが出来るようになっています」

直接「pip.exe」を使うのではなく、python -m経由で使う必要あり
他の正規インストールをしたPythonが存在すると、「pip」コマンドを直接使うと、
そちらのPythonへとインストールされてしまいます。
これを避けるには、以下のように「python -m」を先頭につけて、
どのPythonへとインストールするのかを明示するコマンドを入力しましょう。
-
通常の秀丸エディタの場合
-
秀丸エディタ 64bit版 を特別に使ってる人の場合
1回目の動作確認
2回目の動作確認
1回目は無事実行出来ますが、2回実行すると、
秀丸が不正終了してしまうことがわかります。
numpyは「プロセスが継続した状態」で複数回の「Python環境の初期化」に対応していないためです。
どうすればよいのか?
hmPython3からアウトプロセスとしてPythonを起動し、
「インプロセス」と「アウトプロセス」で連携することで、対処してください。
サンプル例を、hmPythonとアウトプロセスPython連携に掲載しています。
|