前回は、数式処理ソフト Mathematica のエンジンである Wolfram Engine を Jupyter で説明できるようにしました。
今度は Wolfram Workbench を使って、よく使われる IDE の Eclipse と Mathematica を連動できるようにしてプログラミングできるようにしようと思います。
組み合わせは
- Windows 10/11
- Eclipse
- Mathematica 13.2
です。
Mathematica を持っているのであれば、わざわざこれをする意味がないのかもしれないですが、例えば、Python や Java などのいろんな言語を使っているとき、複数のプロジェクトをまとめるのには良いかもしれないです。
最重要なポイント
この環境は実行はあくまでもWolfram Mathematicaで行われます。Eclipseは、プロジェクトファイルの管理、コードを書く、スペルチェックをするなどの編集支援機能を行うに過ぎない、という感じです。
実行にはローカルにWolfram Mathematicaがインストールされている必要があります。つまり、必ず購入したものがないといけないです。もし、インストールされていないと、Eclipseからノートブックファイル(.nb)を開こうとするとエラーになります。 詳しくは後で。 |
Eclipse のインストール手順は省略して、すでに入っているところから始めます。
今回使ったEclipseは「Eclipse IDE for java Developers」です。
- Eclipseの「Help」->「Install New Software」を選択します。
Eclipse の Help メニュー - 「Work with」に「http://workbench.wolfram.com/update」と入力します。
Wolfram Workbench のダウンロードパス - 「Add」をクリックすると、次の画面になるので、レポジトリの名前として「Wolfram Workbench」(自分でわかれば何でもよい)を入力し、さらに「Add」ボタンをクリックします。
レポジトリ名 - Wolfram Research のサイトにアクセスして、画面が次のようになります。「Wolfram Workbench Core」にチェックを入れて、下の「Next >」を押します。
Wolfram Workbench Core - 「これをインストールするよ。確認してね」という画面になるので、そのまま「Next >」をクリックします。
- 「I accept the terms of the license agreement」をチェックして、「Finish」をクリックします。
Wolfram のライセンス画面 - Eclipse を再起動するように言ってきますので、再起動します。
Eclipse の再起動 さて、Eclipseで何か変わったでしょうか?一見、何も変化はありません。
- 「File」->「New」とすると、Wolfram のメニューが追加されています。これで正しくインストールできたことがわかります。
Wolfram 環境がメニューに追加された もし、これらの項目がメニューに表示されない場合は、「パースペクティブ」が違う可能性があります。その場合、Eclipse の画面の右上の赤い小さな三角アイコンをクリックしてください。
Wolfram Workbench に切り替えるアイコン(赤い三角) それでは、実際に Eclipse の中で Wolfram Language を使ってコードを書いてみます。
- まずはプロジェクトの作成です。「File」->「Project」を選択して、ウィザードで「Wolfram」->「Basic Project」を選択します。
ウィザードの選択 - 「Next」をクリックして、プロジェクト名をつけます。ここでは「My1stWolframProject」としておきましょう。「Finish」をクリックします。
プロジェクト名をつける - 全体としては次のような画面になったと思います。
プロジェクトが作成された - 「My1stWolframProject.m」をダブルクリックします。エディター側に Wolfram Language でコードを書けそうな画面が開きました。
".m" ファイルを開く 拡張子「.m」は、Wolfram Language で書いたテキストファイルを指します。
(あたりまえだが)いきなりEclipseで実行はできないので、Eclipse内ではあくまでも呼び出される関数を定義するだけ。 - 次のように入力して、保存します。ある程度 Wolfram Languagem の構文を理解し、チェックを行ってくれるのは便利かも。
Wolfram Language で関数を定義 - さて、これを Mathematica から呼び出そう。左側のペインから「My1stWolframProject.nb」をダブルクリックします。問題なければ別にインストールされていた Mathematica が起動します。
もし次のエラーになったら、Eclipse が Mathematica を正しく参照できるようにパスを変えてやる必要があります。
Eclipseで「Window」->「Preferences」を選んで、次の画面で左のリストの「Wolfram」を選びます。「Edit」ボタンをクリックして、インストールされている Mathematica のフォルダー(バージョンの数字が書かれているフォルダのレベル)に変更します。Mathematica のパスの修正 変更が終わったら、「Apply and Close」です。
ここで、
In [x]: <<My1stWolframProject.m
と入力し、テキストで書いていた関数を Mathematica に読み込みます。もうMathematica の世界に入っているので「Shift+Enter」であることを忘れないように。
In [x]: <<My1stWolframProject.m
Get: My1stWolframProjectを開くことができません。
Out[x]: $Failed
というエラーが返ってきた場合は、文字列が前違っている、あるいは.mファイルを保存していないなど、Mathematica からそのファイルが見つからないケースが多いです。
正しく読み込まれると、下のように次の入力待ちになります。Mathematica での入力 - そうしたら、fun[5]と入力してみます。正しく答えが返ってきました。
Mathematica での関数の実行 - このノートブックを保存して、閉じます。Eclipse に戻って、再度 ".nb" ファイルをダブルクリックすると、実行された結果も含めて通常の Mathematica のノートブックと同じように保存されていることがわかります。
今回は長かった。。。