1. ホーム
  2. python

[解決済み] python: sys が定義されていない

2022-02-17 05:13:48

質問

Linuxで動作しているコードがあり、それをWindowsで実行しようとしているのですが、sysをインポートしましたが、sys.exit()を使用したときにエラーが発生しました。しかし、sys.exit()を使用すると、sysが定義されていないというエラーが表示されます。以下は、私のコードの最初の部分です。

try:
    import numpy as np
    import pyfits as pf
    import scipy.ndimage as nd
    import pylab as pl
    import os
    import heapq
    import sys
    from scipy.optimize import leastsq

except ImportError:
    print "Error: missing one of the libraries (numpy, pyfits, scipy, matplotlib)"
    sys.exit()

なぜsysは動作しないのでしょうか?

解決方法は?

移動 import sys 外側 try - except ブロックを作成します。

import sys
try:
    # ...
except ImportError:
    # ...

インポートのいずれかが 以前 import sys の行が失敗すると 休憩 は実行されず、ブロックの sys がインポートされることはありません。代わりに、実行は例外処理ブロックにジャンプし、そこで存在しない名前にアクセスしようとします。

sys はとにかく組み込みモジュールで、それは 常に インポートを追跡するためのデータ構造を保持するため、存在します。 sys が失敗した場合、より大きな問題が発生します。 すべて モジュールのインポートが壊れている)。