LoginSignup
1
2

More than 3 years have passed since last update.

メモ:ImageJ FijiでPythonを動作させるとjava.lang.IllegalArgumentExceptionが出る件とその解決(mac OS)

Posted at

はじめに

生命科学系を中心に,画像解析に用いられるオープンソースソフトウェア「ImageJ Fiji」をmac OSにインストールし,Pythonで動作テストをさせた際,初っ端からJavaのエラーメッセージが表示され出鼻をくじかれてしまいました.
その解決について,ネット上に書かれたエントリが見つからなかったため,自戒と,もしかしたら誰かの役に立つかもと思いメモしておきます.

動作環境

  • MacBook Pro Late2016
  • mac OS Catalina 10.15.6
  • Python 3.8.2

エラーの概要

Fijiであらかじめ作成しておいたPythonのファイルを開き,動かすと…
th_スクリーンショット 2020-10-10 20.41.54 21.05.44.png
Javaのエラーメッセージが出現します.
th_スクリーンショット 2020-10-10 20.42.02 21.05.44.png
エラーは以下のようなことが書かれており…

java.lang.IllegalArgumentException: Cannot create PyString with non-byte value

調べたところ,PyStringの引数に全角文字が含まれているときに出るエラーとのことでした.

解決方法(多分)

動作させるPythonファイルのファイルパスに全角文字が含まれているのが問題だったようです.
動作ファイルが含まれるフォルダ名をアルファベットに変更すると解決しました.簡単!

色々試してみたところ,今回のエラーに関係するのは
- 対象のファイル名
- 対象のファイルパスに含まれるすべてのフォルダ名
だと思われます.

画像ファイルは,Fijiで開きアクティブにしておけば全角文字を含んだファイルパスでも問題ないですが,パスをPython側で指定して開く場合,同様に全角文字が含まれないパスにする必要がありそうです.

念の為,ホームディレクトリの.localizedファイルを削除したりもしてみましたが,動作には関係ありませんでした.

感想

こんな簡単なところで躓くとは…どおりで誰も何も書いていないわけだよ!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2