Python代码在命令行中无法运行
我写的一个模块(test.py)在Python 2.6中可以在Python的IDLE环境里正常导入和运行,使用的命令是:
import test
test.run_test_suite()
但是如果我在命令行中使用“python test.py”这个命令,它似乎会崩溃(根据错误追踪信息),崩溃的地方是“import os”这行。
从下面的代码可以看出,当在命令行运行时,它应该和在IDLE中运行的效果一样。为什么在IDLE中运行没有问题,而在命令行中就出错了呢?我在网上搜索时只找到代码在命令行中能运行但在IDLE中不行的结果。
if __name__ == "__main__":
table = run_test_suite()
print '---=== Results ===---'
print_table(table)
需要指出的是,这个模块只是进行大量的基本数学运算,以检查一些外部计算的数据是否合理。
完整的错误追踪信息是:
Traceback (most recent call last):
File "...\Python\test.py", line 170, in <module>
print '---=== Results ===---'
File "...\Python\test.py", line 160, in build_data
if Links == False:
File "...\Python\test.py", line 103, in load_table
if Abbrev[M.solution_type()] == 'pos':
File "...\Python\test.py", line 85, in build_example
import os
File "SnapPy.pyx", line 173, in snappy.SnapPy.uFatalError (SnapPy.c:5507)
snappy.SnapPy.SnapPeaFatalError:
SnapPea crashed in function cusp_modulus(), defined in cusp_modulus.c.
2 个回答
0
在你当前的工作目录里找一个叫做 os.py 的文件。如果找到了,就把它改个名字。或者你可以去查一下 Python 的文档,看看“绝对导入”是什么。
0
你在这两种情况下使用的是同一个Python版本吗?从命令行启动时,你会得到路径中第一个找到的Python,而IDLE通常是通过快捷方式直接运行的。
如果你的电脑上安装了多个版本的Python,这可能会导致你在两个环境中使用的是完全不同的Python。