1

好的,我是 python 的新手,一直在研究这个问题,但我找不到类似的东西,所以我不确定发生了什么。

我正在创建一个涉及鼠尾草的程序,它有一个消息提示。我们在开发机器上设置了这个,所以我知道它可以工作,但我想在我自己的计算机上设置它,这样我就可以更好地了解它是如何工作的,并且更容易为自己开发。

要启动 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)中运行该文件时,导入工作正常,直到第 27 行它尝试从 sage 导入某些内容时出现错误。

有谁知道当它被其他东西调用时会导致错误的原因是什么?我对导致这种情况的原因感到非常迷茫。

4

1 回答 1

1

Sage 有自己的 python,与系统库分开。这个“胡萝卜”模块,无论它是什么,都必须安装在 python./sage_server.py使用的任何地方,但不能安装在 Sage 中。

你应该可以使用

[your-sage] -sh

启动 Sage shell 并使用 easy_install,或者您可以获取您正在使用的任何胡萝卜包,找到它的setup.py文件,然后运行

[your-sage] -python setup.py install

显然,你的圣人是通往圣人的道路。

如果安装过程不是基于 setup.py,事情会变得有点棘手。

于 2012-01-26T19:33:15.723 回答