pythonでrootが適切に動作しない場合の対処法
pythonでrootを使用していてうまく動かないことがあったので、今回は「何が起きたのか?」と「どうしたら解決したのか?」について備忘録もかねて記事にします。
何が起きたのか?
pyhtonによってデータの処理を行うため、rootというツールを使うことになりました。
早速rootをダウンロードし、簡単なコードで動作確認を行いました。 使用したコードとテキストファイルは以下の通りです。
(コードに関する質問がありましたらコメントください!多数の方から要望がありましたら記事にして解説もします!)
このコードとテキストファイルを使用するとこのようなpngができます。
実際に僕のパソコンでも同じpythonコードで同じtxtファイルを使うことで同じ画像を作ることができました。
おお!ええやん!!!
自分の想像通りのグラフを作成できたので一安心しました。
「よし、もう一度グラフが作れるか試そう!」
そう思い、表示されていたグラフを消し、もう一度pythonを走らせたところ…
ん?なんかさっきのグラフ表示されんけど…
つか、
なんか訳分からんエラーを出してる?
ということで、
pythonでrootを走らせた際に、初回は適切に動作するが2度目になるとよく分からないエラーを吐いて動作しない現象に直面しました。
どう解決したの?
インターネットを必死に検索した結果、
'ROOT.std.file = 'dummy_for_old_pyastro''
をコードの主要部の前に書き込めば解決するとのことでした。
そこでその助言通りに書き込んだコードが、
になります。
このコードでプログラムを走らせた所、初回の動作だけではなく、2回目・3回目も適切に動作しました。
まとめ
○pythonでrootを使うときは作成するコードに特別な記述が必要!
○'ROOT.std.file = 'dummy_for_old_pyastro''を書き込むことで、変な挙動を解決できる!
コードに関して質問があればコメントください!
twitterで聞いていただいても大丈夫です!
それでは!!!