AKAGI Rails

鉄道模型シミュレーターNXで遊んでいたはずが、気づいたらPythonなども。

VRMNXpyをイチからインストール【撮る夫くんも】

パソコンの調子が悪かったので新台入替といたしました。

VRMNXも再インストールです。 ここでは、VRMNX同梱のPythonエンジンで使う、撮る夫くんなどのパッケージのインストールを記録しておきます。

ChatGPTによる概要

VRMNXのインストール場所

VRMNXのインストール自体はデフォルト通りにやりました。

C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX に入りました。まあ普通です。

VRMNXのバージョンは 6.1.0.570 です。

Pythonエンジン

C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe がVRMNXのPythonエンジンです。

Pythonのバージョンは3.10.11でした。

プリインストールのパッケージ

標準モジュールのほかにVRMNXのPythonエンジンにプリインストールされていたサードパーティのパッケージを、 VRMNXのPythonエンジン経由でpipコマンドを叩いて調べます。

まずは、Windowsの検索バーに「cmd」と入力してコマンドプロンプトを起動します。 コマンドプロンプトに、以下のコマンドを入力して実行します。

>"C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe" -m pip list
Package         Version
--------------- -------
joblib          1.2.0
mpmath          1.3.0
numpy           1.24.2
pip             23.1
python-dateutil 2.8.2
setuptools      67.6.1
six             1.16.0

モジュール検索パス

VRMNXのPythonでモジュールを import するときに、モジュールの実体(プログラムソース)を探しに行く場所のリストです。

>"C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe"
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\python310.zip', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\DLLs', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python', 
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib\\site-packages']

モジュール検索パスのさいごにsite-packagesがいますね。

撮る夫くんのインストール

ものは試しで、管理者権限をつけずに pip install コマンドを走らせてみましょう。 現在は --user オプションをつけて実行したのと同じになります。

GitHubの撮る夫くんリポジトリをzipでダウンロードしてきて・・・

>"C:\Program Files\I.MAGIC\鉄道模型シミュレーターNX\python\python.exe" -m pip install vrmnx-toruo-master.zip
@rem なんとzipのままでOK

こうするとユーザー環境のsite-packagesが `%APPDATA%\Roaming\Python\Python310\site-packages' に自動的に作成されます。

このタイミングで、先ほどとおなじようにsys.pathを調べると、Pythonエンジンのモジュール検索パスにも自動的に追加されていることが分かります。

['',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\python310.zip',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\DLLs',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python',
 'C:\\Users\\my_windows_username\\AppData\\Roaming\\Python\\Python310\\site-packages',
 'C:\\Program Files\\I.MAGIC\\鉄道模型シミュレーターNX\\python\\lib\\site-packages']

(へ~、userのsite-packagesが作成されてモジュール検索パスにも追加されるんですね。初めて知りました。)

VRMNXと別にPython 3.10をWindowsにインストールすると、その実行環境とも共用の場所になります。

レイアウトスクリプトで撮る夫くんを有効化してテスト

撮る夫くんのインストールが済んだことを確認するため、サンプルレイアウトで実際に撮る夫くんを有効化してテストします。

撮る夫くんは、レイアウトごとにスクリプトを記入して有効化する必要があります。

レイアウトスクリプトに記入します。

#LAYOUT
import vrmapi
import toruo  # 撮る夫くんをインポート

def vrmevent(obj,ev,param):
    toruo.activate(obj, ev, param)  # 撮る夫くんを有効化
    if ev == 'init':
        dummy = 1
    # 以下省略

撮る夫くんパネルが出現したので成功

うまくいきました。