Sihirli sayı, bir dosyanın ilk birkaç baytının dosya türünü gösteren bir işaretçi tuttuğu UNIX tipi sistemlerden gelir.
Python, pycoluşturduklarında dosyalarına benzer bir işaretleyici koyar .
Daha sonra python yorumlayıcısı, yüklerken bu numaranın doğru olduğundan emin olur.
Bu sihirli numaraya zarar veren herhangi bir şey probleminize neden olacaktır. Bu, pycdosyayı düzenlemeyi veya pycyorumcunuzdan farklı bir python sürümünden (genellikle daha sonra) çalıştırmaya çalışmayı içerir.
Bunlar sizin pyc dosyalarınızsa, onları silin ve yorumlayıcının pydosyaları yeniden derlemesine izin verin . UNIX tipi sistemlerde bu kadar basit bir şey olabilir:
rm *.pyc
veya:
find . -name '*.pyc' -delete
Bunlar sizin değilse, pydosyaları yeniden derleme için almanız veya pycdosyaları o sihirli değerle çalıştırabilecek bir yorumlayıcı almanız gerekir .
Aralıklı doğaya neden olabilecek bir şey. pycSoruna neden olan sadece belirli koşullar altında ithal edilebilir. Bazen ithalat yapması pek olası değildir. İçe aktarma başarısız olduğunda gerçek tam yığın izlemesini kontrol etmelisiniz?
Bir kenara olarak, tüm ilk kelime 2.5.1(r251:54863) pycdosyalarının olduğu 62131, 2.6.1(r261:67517)olduğunu 62161. Tüm sihirli numaraların listesi Python/import.cburada bulunabilir , bütünlük için çoğaltılabilir (cevabın gönderildiği andaki güncel, o zamandan beri değişmiş olabilir):
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