2012-01-26 5 views
0

私はPythonの方が新しいですし、この問題を研究していますが、それが好きなので、何が起こっているのかわかりません。セイジのPython ImportError

私はsageを含むプログラムを作成しており、メッセージキューを持っています。私たちはこれを開発マシンに組み込んだので、それは動作することは分かっていますが、自分のコンピュータでセットアップしたいので、すべての仕組みをよりよく理解して自分で開発するのが簡単になりました。

sageを起動するには、sagesメインバイナリファイルを呼び出し、実行可能な.pyファイルを渡すスクリプトを実行します。 (./sage/sage ./sage_server.py)これはsage_server.pyファイル内のエラーを作成します。

Traceback (most recent call last): 
    File "./sage_server.py", line 23, in <module> 
    from carrot.messaging import Publisher 
ImportError: No module named carrot.messaging 

しかし、私はちょうどターミナル(./sage_server)でそのファイルを実行するたびにインポートが正常に動作し、 sageから何かをインポートしようとするとエラーが発生するまで27行目まではありません。

誰かが何かによって呼び出されているときにエラーを引き起こす原因を知っている人はいますか?私はこれを引き起こしているものとして非常に迷っています。

+0

システムのPythonにインストールしたモジュールですか? Sageには独自のPython環境があるので、必要なモジュールをインストールする必要があります(可能ならSageは使用しません)。 –

答えて

1

Sageには、システムライブラリとは別の独自のPythonがあります。この "ニンジン"モジュールは、それが何であっても、./sage_server.pyのpythonにはインストールされなければならないが、Sageにはインストールされていない。

あなたがセージシェルを起動し、easy_installを使用するか、またはあなたが使用しているcarrotyどんなパッケージを得ることができ、その setup.pyファイルを見つけ、その後、

を実行するために

[your-sage] -sh 

のいずれかを使用することができるはず

[your-sage] -python setup.py install 

明らかにあなたのセージはあなたのセージへのパスです。

インストールプロセスがsetup.pyベースでない場合は、少し面倒です。

+0

ありがとう、私の問題を解決しました!私は自分自身のpythonを使ってセージの可能性を考えていませんでしたが、今私は知っています。再度、感謝します!!! – user1172032