PyScripterでDLLエラーが出る問題解決。

Python書こうとPyScripterを立ち上げたら以下のエラー

Access violation at address 1E0CC385 in module 'PYTHON25.DLL'. Read of address 00000004.

Exception class: EAccessViolation
Exception message: Access violation at address 1E0CC385 in module 'PYTHON25.DLL'. Read of address 00000004.
Exception address: 1E0CC385

あれーーー??
と思って最新版の1.9.9.2に上げたり
Pythonの2.5に上げたりとしてみたものの解決できず。。。

いろいろ調べていくと、どうやら、MercurialのシェルGUIであるTortoiseHG とバッティングしてる模様。
そういや、最近subversionのややこしさと使いにくさからMercurialに変えたな。。。w


ということで解決策は3つ

  1. 環境変数PATHでTortoiseHG(Mercurial)よりも前に%windows%\system32に設定
  2. Python25をシングルユーザインスタンスでインストールし直す
  3. PYTHONDLLPATHを使う。

結局Pythonの再インスコやPATH書き換えるのもメンドイので3番目のPYTHONDLLPATHを使うことに

PyScripter.exe --PYTHON25 --PYTHONDLLPATH=c:\windows\system32

と書いたバッチファイルを作ってそれを経由して起動します。

よし、無問題。

解決のソースはここです。
TortoiseHG crashes PyScripterl