[解決済み] 悪いマジックナンバーエラーって何?
質問内容
PythonのImportErrorのうち、"Bad magic number"は何ですか?
私がオンラインで見つけた唯一のものは、.py -> .pycファイルをコンパイルし、間違ったバージョンのpythonでそれを使用しようとすることが原因であると示唆するものです。しかし、私の場合、ファイルはある時はうまくインポートされますが、ある時はうまくいきません。
Pythonがトレースバックで提供する情報は特に役に立ちませんが(それが私がここで質問した理由です...)、一応ここに書いておきます。
Traceback (most recent call last):
File "run.py", line 7, in <module>
from Normalization import Normalizer
解決方法は?
このマジックナンバーは、UNIX系のシステムで、ファイルの最初の数バイトにファイルの種類を示すマーカーがあったことに由来しています。
Pythonは同様のマーカーを
pyc
ファイルを作成する際に
そして、pythonインタプリタがロードする際に、この数字が正しいかどうかを確認します。
このマジックナンバーにダメージを与えるようなことがあると、問題が発生します。これには
pyc
ファイルを実行しようとしたり
pyc
は、インタープリタとは異なるバージョンの python (通常、それ以降) から取得されます。
もし、それらが
あなたの
pyc
ファイルを削除し、インタープリタに
py
ファイルを作成します。UNIXタイプのシステムでは、それは次のような簡単なものになります。
rm *.pyc
または
find . -name '*.pyc' -delete
もし、自分のものでない場合は、どちらかというと
py
ファイルを再コンパイルするか、あるいは
pyc
ファイルに特定のマジックバリューを設定します。
ひとつだけ、間欠性の原因になっている可能性があります。その
pyc
特定の条件下でのみインポートされる可能性があります。時々インポートされる可能性は極めて低いです。インポートに失敗したときの実際のフルスタックトレースを確認したほうがいいのでは?
余談ですが、私のすべての
2.5.1(r251:54863)
pyc
ファイルは
62131
,
2.6.1(r261:67517)
は
62161
. すべてのマジックナンバーの一覧は
Python/import.c
回答が投稿された時点のもので、その後変更されている可能性があります)。
1.5: 20121
1.5.1: 20121
1.5.2: 20121
1.6: 50428
2.0: 50823
2.0.1: 50823
2.1: 60202
2.1.1: 60202
2.1.2: 60202
2.2: 60717
2.3a0: 62011
2.3a0: 62021
2.3a0: 62011
2.4a0: 62041
2.4a3: 62051
2.4b1: 62061
2.5a0: 62071
2.5a0: 62081
2.5a0: 62091
2.5a0: 62092
2.5b3: 62101
2.5b3: 62111
2.5c1: 62121
2.5c2: 62131
2.6a0: 62151
2.6a1: 62161
2.7a0: 62171
関連
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない