SORU
5 ŞUBAT 2009, PERŞEMBE


Ne'kötü sihirli sayı hata s?

"Kötü bir sihir numarası" python, ve bunu nasıl düzeltebilirim? İmportError ne

Online bulabildiğim tek şey bu bir derleme neden olduğunu gösteriyor .- ^py . .dosya bilim ve python yanlış sürümü ile kullanmaya çalışıyorum. Benim durumumda, ancak, dosyayı ince bazen ama diğerlerini almak gibi görünüyor, ve ben neden emin değilim.

Bilgi piton, traceback sağlayan özellikle yararlı (ki burada soruyordum neden...) değil, ama burada yardımcı olur diye

Traceback (most recent call last):
  File "run.py", line 7, in <module>
    from Normalization import Normalizer

CEVAP
5 ŞUBAT 2009, PERŞEMBE


Sihirli sayı UNİX-tipi bir dosyanın ilk birkaç baytını bir işaretleyici dosya türünü gösteren düzenlenen sistemlerden geliyor.

Python onları oluşturduğunda pyc dosyalarına benzer bir işaret koyar.

Daha sonra python yorumlayıcısı yüklerken bu numaranın doğru olduğundan emin olur.

Bu sihirli sayı senin sorunun neden olacaktır zarar veren bir şey. Bu pyc dosya düzenleme veya python yorumlayıcı daha farklı bir versiyon pyc (genellikle üstü) çalıştırmak için çalışıyor içerir.

Eğerseninpyc, sadece onları silmek ve yorumlayıcı yeniden derlemek izin py dosyaları. UNİX tipi sistemlerde, bu kadar basit: gibi bir şey olabilir

rm *.pyc

ya da:

find . -name '*.pyc' -delete

Eğer senin yoksa onlar da yeniden derleme, ya da bu özel sihir değeri pyc dosyaları çalışan bir tercüman py dosyaları almak gerekir.

Bir şey aralıklı doğası neden olabilir. Soruna neden olan pyc yalnızca belirli koşullar altında alınabilir. Bazen içe olacağını pek olası değil. Alma işlemi başarısız olduğunda izleme gerçek tam yığın kontrol etmelisiniz?

Kenara2.5.1(r251:54863) pyc tüm dosyalarımı ilk kelime 17*, 2.6.1(r261:67517) *olarak 62161. Tüm sihirli numaraları listesi Python/import.c, burada yeniden bütünlüğü için: bulunabilir

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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009