我正在尝试使用setuptools为sage脚本构建安装程序。这就是我所拥有的。
我的setup.py
文件:
#!/usr/bin/env python2
from setuptools import setup
__name__ = 'sage-test'
__version__ = '0.0'
setup(name=__name__,
scripts=['sage-test'],
)
sage-test
文件:
#!/usr/bin/env sage
from sage.all import GF
print(GF(5))
我现在./setup.py build
和./setup.py install
。当我尝试运行sage-test时,我收到以下错误:
Traceback (most recent call last):
File "/usr/bin/sage-test", line 4, in <module>
__import__('pkg_resources').run_script('sage-test==0.0.0', 'sage-test')
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 517, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 1443, in run_script
exec(script_code, namespace, namespace)
File "/usr/lib/python2.7/site-packages/sage_test-0.0.0-py2.7.egg/EGG-INFO/scripts/sage-test", line 3, in <module>
__requires__ = 'sage-test==0.0.0'
ImportError: No module named sage.all
任何想法如何让这个工作? (请注意,我可以在当前目录中运行./sage-test
,一切正常。)
答案 0 :(得分:0)
这可能没有帮助,但这看起来很可疑。
/usr/lib/python2.7/
也许你需要在sage -sh
内做所有事情 - 如果有一些未正确设置的env var,我不会感到惊讶。我不确切知道为什么,但也许它以某种方式拾取你的系统Python。