私が Python 2.6 で作成したモジュール (test.py) は、次のコマンドを使用して Python IDLE からインポートして完全に実行できます。
import test
test.run_test_suite()
ただし、コマンドラインでコマンド「python test.py」を使用すると、コマンド「import os」で(トレースバックによると)明らかにクラッシュします。
以下のコードからわかるように、コマンド ラインから実行すると、IDLE 内で実行した場合と同じように実行されます。これを IDLE で実行すると問題が発生するのはなぜですか? 私の google-foo は、コードがコマンドラインで実行され、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.