2010-11-06 29 views
7

"Derleyici" modülünü 2.x 'den 3.1' e kullanan bir kod tabanı yüklemeye çalışıyorum; Modül Python3.x'de bulunmadığı için,"derleyici" modülü py3k

adresinden bir ImportError aldım; Aynı işlevsellik, standart kitaplıktaki başka bir modüle entegre edildi mi? Veya tamamen kaldırıldı mı?

[DÜZ] I Py3k içinde compiler.parse.getChildren bir eşdeğeri gerekmektedir.

+0

Benzer olsa da benzer: http://stackoverflow.com/questions/909092/why-is-the-compiler-package-discontinued-in-python-3 –

cevap

6

According to the docs, modül 2.6'dan beri kullanımdan kaldırılmıştır ve 3.0'da tamamen kaldırılmıştır.

PEP 3108 itibaren

: Yerleşik derleyici ve stdlib paketi hem korumak zorunda

  • (24) gereksiz olduğunu.
  • Derleyici tarafından oluşturulan AST (23) kullanılabilir.
  • Bir AST'den derlenecek mekanizma eklenecek.
5

Ne yapmak istediğinize bağlı olarak değişir. Özet sözdizimi ağacı öğeleri büyük ölçüde ast modülüne taşındı.

Görünürde compile yerleşik işlevi, compiler modülünün kalan işlevlerini (kaba olarak) işleyen bir AST nesnesini bytecode olarak derleyebilir. Bunu da hiç yapmadım YMMV.