TouchDesignerから外部ライブラリを参照したい、、、


初投稿です!

TouchDesignerを使い倒したい!

TouchDesignerはソフト一つで3Dも、pythonも、その他ソフトの連携も可能で便利なソフトですが、表現が割と同じようなものになりがちだと感じます。

Keras使いたい、、、

唐突ですが、自分の今年の目標は「Kerasを用いたインタラクション作品」の制作です。これをTouchDesignerで実現するためにはKerasをimportしなくては始まりません、、、前置きが長くてすみません。これから外部ライブラリ参照の方法を記します。

外部ライブラリ参照方法

TextDATとTextportを開く


Textportを見ながらPythonをTextDATで実行することで、現在参照しているファイルの場所などを逐一確認できるのでおすすめです!

現在のPathを確認


text1
import os,sys
path = os.path
print(path)


見てわかるように、TouchDeignerのPythonは、TouchDesignerの中にあるデフォルトのフレームワークを参照しています。実はもうこの時点でこれから行うPathの参照を行なっているのですが、Pathの参照をPreferenceから行なっただけではPathを変更できないみたいなのです。

知っとくと便利なコマンド
実行したいDATを選んで、、、

  • cmd + e = TextDATを外部エディタで編集
  • cmd + r = TextDATを実行

PreferenceからPathを変更


  1. Preferenceを開きます、
  2. Add External Python to Search Pathに参照したいPathを設定します。自分であれば、
    /Users/username/anaconda3/envs/TouchDesigner/lib/python3.5/site-packages これは、anacondaでTouchDesigner専用の環境を作ったので、上記のようになっています。 TouchDesignerのデフォルトのバージョンは3.5系なので、指定するPathは3.5系のPythonでないといけません。
  3. TouchDesignerを再起動
  4. import keras !!!
    しかしここではおそらくエラーが出ると思います。ここではまだデフォルトのPathのままなのです。(正直なんでかわかってない)

TextDATからPathを設定

先人の知恵に頼る(自分の場合これでもダメだった)

import sys, os

path = '/Users/username/anaconda3/envs/TouchDesigner/lib/python3.5/site-packages'

if not path in sys.path:
    sys.path.append(path)
    print('Append new module search path:', path)

もろ以下を参考にしています。

https://qiita.com/shks/items/38aa1567f2c5246796e6

https://qiita.com/oishihiroaki/items/e11dfa90638a13e2a5f5

他の方法で参照

text1

import sys, os
os.chdir('/Users/username/anaconda3/envs/TouchDesigner/lib/python3.5/site-packages')
import keras
print(keras)

これでPathは通りました。まだKerasを使って何かしたわけでもないので、この参照の仕方でこれから別のエラーとか出る可能性はあるかもしれませんが、一応参照できました!!!

anacondaでPython専用の環境を作る(おまけ)

Touchdesignerのためだけに色々とPythonの環境をいじるのは面倒だと思ったので、anacondaで専用の環境を作りました。
1. まずはPython3.5系を選択

インポート前

2.好きなライブラリをインポート!

3. 実行

これでバージョン管理などが楽にできそう

今の現状(記事に全く関係ない)

自分はクラシックギターのレッスンやワークショップを受けにしばしば福岡に来ます。今日はせっかくPathが通ったので、今すぐQiitaに投稿したいと思い、あるwi-fiが使えるBarに駆け込んで、そこで書いております。初めはためらってましたが、外国人の店長の方がとてもフレンドリーでいい人で、快く使わせてもらっています。とにかく福岡は人がいいです。クラシックギターの会社の方も自分が山口から来ているので、アパートの空き部屋を宿泊に使っていいよと言ってくださり、そこにレッスンの日はお世話になっています。よく行っている福岡の勉強会もハンズオン形式で、とてもわかりやすく、無料で、優しくて、申し訳ない気持ちになります。本当に自分は人に恵まれているのです。なので、今回拙い文章ではありますが、できるだけ丁寧にまとめてみました。