2019年3月5日火曜日

PyGObjectのインスト2 複数のPythonについてなど


異なるPythonについて

現在私のPCにはCフォルダの直下にpythonの3.7と3.4が並んでいて、ファイルの関連づけやパスは3.7用に設定されたままです
Gtkを使った*.pyのファイルを起動させるには、3.4のpython.exeに渡さなければダメですが、これはpy.exeがやってくれます
*.pyファイルの冒頭に
#!python3.4
と記述してpy.exeに渡せば、自動的に3.4のpython.exeに渡してくれます
スバラシイ!!!!!
当然ですが、*.pyの関連づけがpython やpythonwだったら、py.exeに変更しておく必要があります
-->https://gammasoft.jp/python/python-version-management/

Visual Studio Code の設定について

複数のPython用に設定できます
リアルにバージョン毎の設定ができそうだけど、私は仮想環境ってやつでやりました
新しいフォルダをつくって、そこでコマンドからごにょごにょしたらできたけど、理屈がよくわかんないのでここでは書けません
結構情報はあるので調べましょう

ちなみに必須の文法チェック、pylintの仮想環境へのインストが出来なくて悩みましたが、何とかイケました
原因は新しくインストした3.4にpylintが無いことです
Python本家から落としてインストすると、pipが入ってません
なので、get-pip.pyを落としてまずはpipを3.4にインスト
さらにpipでpylintを3.4にインスト
こうしておけば、VScodeでpylintが無いよってメッセージが出るので、インストを押せば勝手にインストしてくれます

MSYS2環境のPython

今私のPCにインストされてるPythonは3つ
3.72、3.44、MSYS2の中の3.72
「PyGObject for Windows」は3.44までだけど、PyGObject自体は3.72に対応してるわけで、何とかMSYS2の中のGTKを既存の3.72の中に移したい
あるいは既存の3.72から見えるようにしたい

モジュールを普通にsite-以外からimportする場合、フォルダの中に名前は任意で拡張子pth(**.pth)のテキストファイルを書いて、そこにパスを書けば良いです
なので、MSYS2の中のgiフォルダがあるパスを書いてみましたがダメ
モジュールは読んでるけどgiのインポートでエラーになります
モジュールの実態はgiの中にある_gi.pydで、これが色んなdllを読み込みますが、MSYS2の中の_gi.pydはMSYS2の中のいろんなgtk関係のdllを読みます
これがうまくいってないんだと思う
何とかなりそうな気がするんだが・・・・

今後のプラン

何とかPythonを既存のもの一つにしたい
今のプランとしては
・MSYS2環境のモジュールをそっくり移すか読めるようにする
・既存のpipでインストする際のcコンパイラにmingwを設定してみる
発想を変えて、MSYS2の中のpythonをメインにしてしまうのもありなんだけど
関連付けも変えてしまって
Qtもそこに再インストするとか
勿論諦めてVC++のコンパイラインストってのもあり

思いつきだけど、
・py.exeでMSYS2の3.72を起動させる
のは無理だろうか?
私の環境の三つのPythonに振り分けるって事
pyスクリプトの冒頭の#にいろいろ書いてやれば良いだけだよね
py.exeで無理なら自分で作ってもいい(・∀・)ノ
冒頭の#以下の記述に応じて渡すpythonを変えれば良いだけだから単純なプログラム
GUIはいらないから使う関数はfopenとCreateProcessくらい、cですぐ書けそう

こんなこと考えてないではやくPyGObjectをいじってみた方が良いか・・・( ̄― ̄?)

0 件のコメント:

コメントを投稿