3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-07-26

初投稿です!
#TouchDesignerを使い倒したい!
TouchDesignerはソフト一つで3Dも、pythonも、その他ソフトの連携も可能で便利なソフトですが、表現が割と同じようなものになりがちだと感じます。
#Keras使いたい、、、
唐突ですが、自分の今年の目標は「Kerasを用いたインタラクション作品」の制作です。これをTouchDesignerで実現するためにはKerasをimportしなくては始まりません、、、前置きが長くてすみません。これから外部ライブラリ参照の方法を記します。
#外部ライブラリ参照方法

##TextDATとTextportを開く
スクリーンショット 2019-07-27 0.47.53.png
Textportを見ながらPythonをTextDATで実行することで、現在参照しているファイルの場所などを逐一確認できるのでおすすめです!
##現在のPathを確認
スクリーンショット 2019-07-27 1.10.51.png
text1

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


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

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




##PreferenceからPathを変更
<img width="1680" alt="スクリーンショット 2019-07-27 0.55.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/1c20c659-b101-2b8c-9468-83925b744f16.png">
<img width="1680" alt="スクリーンショット 2019-07-27 0.57.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/ede5364a-c1bb-c8da-04eb-056924fb3417.png">

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

##TextDATからPathを設定
先人の知恵に頼る(自分の場合これでもダメだった)<br>

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

##他の方法で参照
<img width="1680" alt="スクリーンショット 2019-07-27 1.51.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/55defb0b-501d-6a4f-c04e-0272b8909db5.png">

**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系を選択
<img width="1680" alt="スクリーンショット 2019-07-27 1.30.56.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/3dd799aa-ad19-acdf-d2c0-50b91734077a.png">

インポート前
<img width="1680" alt="スクリーンショット 2019-07-27 0.22.48.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/2ba9fd07-3f7b-1bb3-c8f7-e6dca5575adb.png">

2.好きなライブラリをインポート!
<img width="1680" alt="スクリーンショット 2019-07-27 0.22.19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/92e70707-60ed-a3a6-3e44-24270b32b027.png">
3. 実行
<img width="1680" alt="スクリーンショット 2019-07-27 0.24.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/282795/87bd4b3c-2878-3299-8fd0-d28e3d63a72c.png">
これでバージョン管理などが楽にできそう




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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?