在SageMath中使用xlrd和xlwt
我想在sagemath中使用xlrd、xlwt和xlutils这几个库。我已经在我系统的Python(2.7.3)中安装了它们,但sagemath环境却识别不了。每次我尝试在sagemath中导入时,都会出现以下错误:
ImportError: No module named xlrd`
但是在不使用sagemath的情况下,它们工作得很好。有没有办法让它们在sagemath中也能用呢?我使用的是Ubuntu 12(quantal),32位,Sage版本5.8,Python版本是2.7.5(sagemath自带的Python)。
我在使用Tkinter时也遇到了同样的问题,但我通过运行 sudo apt-get install tk8.5-dev
解决了这个问题,具体解决方法可以参考这个链接:http://www.sagemath.org/doc/faq/faq-usage.html#how-to-get-sage-s-python-to-recognize-my-system-s-tcl-tk-install
但是其他库该怎么处理呢?
我尝试手动在 /usr/lib/sagemath/local/lib/python2.7/site-packages/
文件夹中安装它们,先把tar文件放进去,然后解压,再运行 sudo python setup.py install
,但还是不行。
2 个回答
与其用系统自带的Python来安装这些东西,不如用Sage自带的Python来安装。你可以先输入 sage --sh
,这会打开一个新的命令行窗口,里面的环境变量都已经设置好,适合用来和Sage一起使用,特别是 $PATH
这个变量会把 $SAGE_ROOT/local/bin
放在最前面。然后你就可以用 python setup.py install
等命令来安装这些包。或者,你也可以直接用Sage的Python来运行,输入 sage --python setup.py install ...
就可以了。
Sage并不使用你电脑上安装的Python,它有自己的一份Python版本。所以在使用Sage程序时,你需要通过终端运行程序,使用这个命令:
$ sage --python <Python_File>
同样,Sage也不使用系统Python里安装的模块。你需要在Sage的库下安装这些模块。你已经下载并解压了文件夹,但用了错误的命令。现在请再次进入xlrd
解压后的文件夹,并使用这个命令:
$ sage --python setup.py install
现在一切应该都能正常工作了。
祝好运!