[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
過去ログ
投稿順に表示
スレッドごとに表示
キーワード
タイトル
投稿者
編集パスワード
コメント
添付
Re[525]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 20時11分
加藤俊明
返信
> で、pycは専用のmake_pyc.pyとかゆーのを作って、それをShadeで実行してます
> 中身はこれで、最下行のpycにするpythonファイル名をエディタで編集してます。
> もちろん、このままスクリプトウインドウで実行してもOKです。
> import sys
> sys.path.append( xshade.shade().scripts_path )
> import D_Create_Offset_Line_v3

ありがとうございます。
おかげさまで pyc を作るところまでなんとかたどり着くことができました。

ふむ、結論としては、xshade を Shade 以外の外部から操作することは不可能、あるいは、それなりの知識を有した人ならばあるいは可能かも、ということのようですね。

これで Rb + Python はさっさと諦めがつきました。

さて、どうしたものやら、

1)VB script, J script のサポート廃止、Tcl のサポート廃止、と続いてきていること、
2)その間、 script reference も公開されず、script サポートに対する混迷は泥沼化していること、
3)バージョンアップしても script のバグは以前のようなペースでは解消されていないこと、
4)Pyton script はそもそも開発時の動作確認ツールとして必要に迫られて実装されたもので、開発に不可欠なものとなっていること( 一般ユーザーに使用が許されていないコマンドがあるのはそのためです )
5)少数派である Mac のために開発のリソースが食われるのは誰が考えても  であること、

等々を考え重ねると、Apple script のサポートもいつまで続くか甚だ疑わしいと予想されるわけです。
まあ、開発環境なんて常に変転してますから、そんな流れも当然といえば当然なんですけどね。

本当にそんな事態になれば個人的にはチト、いやもとい、甚だつらいですね Euclid は全滅ですから。




Re[525]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 15時14分
加藤俊明
返信
> >spath.append('/Applications/my applications/Shade 9/Shade 9.app/Contents/MacOS/'
> >でパスを通しても
> >import shade
>
> こればBBSに書く時の誤植でしょーか。でなければ、import xshadeでないとエラーになります。

あいやあ〜、すみません、御指摘の通りBBS投稿の際の書き誤りです。
Re[527][525]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 19時07分
でった☆
返信
ご参考までに、うちでのxshadeまでのパスです
/Applications/Shade 9/Shade 9.app/Contents/MacOS/xshade
Re[525][524][523]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 14時50分
でった☆
返信
あれ?今みると、この場合はダイレクトにsys.path.appendしてますねえ。
インスタンス化しなくてもいいのかな?あれれ?
Re[524][523]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 14時48分
でった☆
返信
はじめに。
わたしはpythonインストールしてません。Shadeに入っているものだけですね。
ユーザー環境を維持しないと、うちで動いて他で動かないとか出そうなので。

で、pycは専用のmake_pyc.pyとかゆーのを作って、それをShadeで実行してます
中身はこれで、最下行のpycにするpythonファイル名をエディタで編集してます。
もちろん、このままスクリプトウインドウで実行してもOKです。
import sys
sys.path.append( xshade.shade().scripts_path )
import D_Create_Offset_Line_v3

>spath.append('/Applications/my applications/Shade 9/Shade 9.app/Contents/MacOS/'
>でパスを通しても
>import shade

こればBBSに書く時の誤植でしょーか。でなければ、import xshadeでないとエラーになります。

pycを作る時は、内部で
import xshade
として、モジュールとしてxshadeを読み込んでますので、読み込めないことは無いとは思いますが
IDLE入れてないから、なんとも言えないですねえ。
Re[523]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 13時43分
加藤俊明
返信
自己レスです。
ここの掲示板の去年9月頃の過去ログまで遡っても一回読み直したら、少し頭の中が整理できました。

> > さて、見てわかるよーに、pathの中身はリストです。なのでappendで追加すればOKかと思います。
> >
> > import sys
> > spath = sys.path
> > shadepath = xshade.shade().path
> > spath.append(shadepath)

これは Shade の script window から実行しているわけですね。
やっと理解できました。

で、pyc の作成も Shade の script window に compileall module を読み込んで行っているということなのでしょうか ?
Re[522][521][520]: IDLE から Shade Python を動かしてみる
2007年03月21日 (水) 11時56分
加藤俊明
返信
> さて、見てわかるよーに、pathの中身はリストです。なのでappendで追加すればOKかと思います。
>
> import sys
> spath = sys.path
> shadepath = xshade.shade().path
> spath.append(shadepath)
>
> 結果は、末尾にShadeへのパスが追加されて、以下の通りです。
> ['', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-darwin', '/usr/lib/python2.3/plat-mac', '/usr/lib/python2.3/plat-mac/lib-scriptpackages', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/Applications/Shade 9/Shade 9.app']

んっ?、んっ?、んっ?、んっ?、
すみません、またまた混乱してしまいました。

IDLE で

import sys
spath = sys.path
spath.append('/Applications/my applications/Shade 9/Shade 9.app/Contents/MacOS/')
print sys.path

とすれば、おかげさまでパスが通ることは確認できました。
ありがとうございます。

が、

import sys
spath = sys.path
shadepath = xshade.shade().path
spath.append(shadepath)

としても、NameError: name 'xshade' is not defined という当然といえば当然のようなエラーとなってしまうのですが ? ?

まあ、いずれにせよ、
spath.append('/Applications/my applications/Shade 9/Shade 9.app/Contents/MacOS/'
でパスを通しても
import shade
を行っても、予想通り、
ImportError: No module named xshade
となりますね。

で、でった☆さんは、どうやって xshade を読み込んで pyC を作成しているのでしょうか ?
なんだか未だ根本的な認識の誤りがあるのかもしれません、私

Re[521][520]: IDLE から Shade Python を動かしてみる
2007年03月20日 (火) 16時41分
でった☆
返信
おや、いつのまに。

うちでsys.pathを見ると以下の通りです。おそらく、これがShadeだけの標準。
['', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-darwin', '/usr/lib/python2.3/plat-mac', '/usr/lib/python2.3/plat-mac/lib-scriptpackages', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages']

さて、見てわかるよーに、pathの中身はリストです。なのでappendで追加すればOKかと思います。

import sys
spath = sys.path
shadepath = xshade.shade().path
spath.append(shadepath)

結果は、末尾にShadeへのパスが追加されて、以下の通りです。
['', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-darwin', '/usr/lib/python2.3/plat-mac', '/usr/lib/python2.3/plat-mac/lib-scriptpackages', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/Applications/Shade 9/Shade 9.app']

sys.path.append(shadepath)だと
うまくいきませんでした。一旦変数へとインスタンス化しないといけないみたいです。
Re[520]: IDLE から Shade Python を動かしてみる
2007年03月20日 (火) 13時19分
加藤俊明
返信
パスを追加する方法を調べているのですが、あまりにも初歩的なことだからでしょうか、これだってのが見つかりません。
とりあえず現在設定されているパスを調べようと思って

import sys
print sys.path

としてみたら、

['/Applications/my applications/Shade 9', '/Users/tkatoh/Documents', '/Applications/MacPython 2.5/IDLE.app/Contents/Resources', '/Applications/MacPython 2.5/IDLE.app/Contents/Resources', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages']

あれれ、いつのまにか

'/Applications/my applications/Shade 9'

なんてのが追加されています。
いつ、どうやって、追加したんだろう ?
うむ、要するに根本的に理解していないってことですね。

で、お助けを、
パスの追加って、どうやってやればいいのでしょうか ?
Re[518]: IDLE から Shade Python を動かしてみる
2007年03月17日 (土) 21時25分
加藤俊明
返信
> よーするに、パスは電話回線みたいなもんで、電話線を引いておかないと、お話ができないと
> そーゆことです

なるほど、とっても分かりやすい説明をありがとうございます。
純粋 Mac 培養なもので、そのへんの感覚は完全に欠落してしまってますです。
あとで実験してみませう。( タブン xshade の import は無理だとは思いますけど )
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
過去ログ
投稿順に表示
スレッドごとに表示