pyc kabi faylni qanday ochish mumkin. PYC fayl kengaytmasi nima? PYC faylini ochadigan dasturlar

PYC faylini ochish bilan bog'liq muammolarning eng keng tarqalgan sababi bu sizning kompyuteringizda o'rnatilgan tegishli ilovalarning yo'qligi. Bunday holda, PYC formatidagi fayllarga xizmat ko'rsatadigan dasturni topish, yuklab olish va o'rnatish kifoya - bunday dasturlar quyida mavjud.

Qidiruv tizimi

Fayl kengaytmasini kiriting

Yordam

Ishora

Iltimos, kompyuterimiz o'qimagan fayllardan ba'zi kodlangan ma'lumotlarni ba'zan Notepadda ko'rish mumkinligini unutmang. Shu tarzda biz matn yoki raqamlarning bo'laklarini o'qiymiz - PYC fayllari uchun bu usul ham ishlaydimi yoki yo'qligini tekshirishga arziydi.

Ro'yxatdagi dastur allaqachon o'rnatilgan bo'lsa nima qilish kerak?

Ko'pincha o'rnatilgan dastur avtomatik ravishda PYC fayliga ulanishi kerak. Agar bu sodir bo'lmasa, PYC fayli yangi o'rnatilgan dastur bilan qo'lda muvaffaqiyatli ulanishi mumkin. PYC faylini sichqonchaning o'ng tugmasi bilan bosing va mavjud bo'lganlardan "Standart dasturni tanlang" variantini tanlang. Keyin "Ko'rish" opsiyasini tanlashingiz va sevimli dasturingizni topishingiz kerak. Kiritilgan o'zgarishlar "OK" opsiyasi yordamida tasdiqlanishi kerak.

PYC faylini ochadigan dasturlar

Windows
Mac OS
Linux

Nega men PYC faylini ocholmayman?

PYC fayllari bilan bog'liq muammolarning boshqa sabablari ham bo'lishi mumkin. Ba'zan hatto PYC fayllarini qo'llab-quvvatlaydigan kompyuteringizga dasturiy ta'minotni o'rnatish ham muammoni hal qilmaydi. PYC faylini ochish va u bilan ishlash mumkin emasligining sababi ham bo'lishi mumkin:

Ro'yxatga olish yozuvlarida noto'g'ri PYC fayl assotsiatsiyasi
- biz ochgan PYC faylining buzilishi
- PYC fayl infektsiyasi (viruslar)
- juda kam kompyuter resursi
- eskirgan drayverlar
- Windows registridan PYC kengaytmasini olib tashlash
- PYC kengaytmasini qo'llab-quvvatlaydigan dasturning to'liq o'rnatilmaganligi

Ushbu muammolarni bartaraf etish PYC fayllarini erkin ochish va ular bilan ishlashga olib kelishi kerak. Agar kompyuteringizda hali ham fayllar bilan bog'liq muammolar mavjud bo'lsa, aniq sababni aniqlaydigan mutaxassisdan yordam so'rashingiz kerak.

Mening kompyuterim fayl kengaytmalarini ko'rsatmaydi, nima qilishim kerak?

Standart Windows tizimi sozlamalarida kompyuter foydalanuvchisi PYC fayl kengaytmasini ko'rmaydi. Bu sozlamalarda muvaffaqiyatli o'zgartirilishi mumkin. Faqat "Boshqarish paneli" ga o'ting va "Ko'rish va shaxsiylashtirish" ni tanlang. Keyin "Papka parametrlari" ga o'tishingiz va "Ko'rish" ni ochishingiz kerak. "Ko'rish" yorlig'ida "Ma'lum fayl turlarining kengaytmalarini yashirish" opsiyasi mavjud - siz ushbu parametrni tanlashingiz va "OK" tugmasini bosish orqali operatsiyani tasdiqlashingiz kerak. Shu nuqtada, barcha fayllar, jumladan PYC kengaytmalari fayl nomi bo'yicha tartiblangan ko'rinishi kerak.

Umid qilamizki, biz sizga PYC fayl muammosini hal qilishga yordam berdik. Agar siz bizning ro'yxatimizdan ilovani qayerdan yuklab olishingiz mumkinligini bilmasangiz, havolani bosing (bu dasturning nomi) - Siz kerakli dasturning xavfsiz o'rnatish versiyasini qaerdan yuklab olish haqida batafsil ma'lumot topasiz.

Yana nima muammolarga olib kelishi mumkin?

PYC faylini ocholmasligingiz uchun ko'proq sabablar bo'lishi mumkin (faqat tegishli dasturning yo'qligi emas).
Birinchidan- PYC fayli uni qo'llab-quvvatlash uchun o'rnatilgan dastur bilan noto'g'ri bog'langan (mos kelmasligi) mumkin. Bunday holda, bu aloqani o'zingiz o'zgartirishingiz kerak. Buni amalga oshirish uchun tahrir qilmoqchi bo'lgan PYC faylini o'ng tugmasini bosing, variantni bosing "Ochish uchun" va keyin ro'yxatdan o'zingiz o'rnatgan dasturni tanlang. Ushbu amaldan so'ng PYC faylini ochish bilan bog'liq muammolar butunlay yo'qolishi kerak.
Ikkinchidan- siz ochmoqchi bo'lgan fayl shunchaki shikastlangan bo'lishi mumkin. Bunday holda, uning yangi versiyasini topish yoki uni o'sha manbadan qayta yuklab olish yaxshi bo'lar edi (ehtimol, oldingi seansda negadir PYC faylini yuklab olish tugamagan va uni to'g'ri ochib bo'lmaydi) .

Yordam bermoqchimisiz?

Agar sizda PYC fayl kengaytmasi haqida qo'shimcha ma'lumotga ega bo'lsangiz, uni saytimiz foydalanuvchilari bilan baham ko'rsangiz minnatdor bo'lamiz. Joylashtirilgan shakldan foydalaning va PYC fayli haqidagi ma'lumotingizni bizga yuboring.

PYC fayl xulosasi

PYC fayl kengaytmasi bitta fayl turi(lar)iga ega va bitta turli dasturiy ta'minot bilan bog'langan, lekin asosan Python, rivojlangan Python dasturiy ta'minot fondi. Ular ko'pincha formatda taqdim etiladi Python kompilyatsiya qilingan fayl. Ko'pgina PYC fayllari bilan bog'liq Bajariladigan fayllar.

PYC fayllari Windows, Mac va Linux platformalarida aniqlangan. Ular ish stoli kompyuterlari (va mobil qurilmalar) uchun javob beradi. Ushbu fayllar "Past" mashhurlik reytingiga ega va tez-tez ishlatilmaydi.

PYC fayl kengaytmasi haqida ko'proq bilishni xohlaysizmi? PYC fayllarini ochadigan dastur va muammolarni bartaraf etish bo'yicha boshqa maslahatlar haqida bilish uchun quyida keltirilgan fayl tafsilotlariga murojaat qilish tavsiya etiladi.

Fayl turlarining mashhurligi
Fayl darajasi

Faoliyat

Ushbu fayl turi hali ham dolzarb bo'lib, ishlab chiquvchilar va amaliy dasturlar tomonidan faol foydalaniladi. Garchi ushbu fayl turining asl dasturiy ta'minoti yangiroq versiya (masalan, Excel 97 va Office 365) tomonidan qoplanishi mumkin bo'lsa-da, bu fayl turi hali ham dasturiy ta'minotning joriy versiyasi tomonidan faol qo'llab-quvvatlanadi. Eski operatsion tizim yoki dasturiy ta'minotning eskirgan versiyasi bilan o'zaro ishlash jarayoni " orqaga qarab muvofiqlik».

Fayl holati
Sahifa oxirgi yangilangan


PYC fayl turlari

PYC Master fayl assotsiatsiyasi

PYC fayli Python-da yozilgan, dinamik ob'ektga yo'naltirilgan dasturlash tilidagi manba kodi.


Universal faylni ko'rish dasturini sinab ko'ring

Yuqorida sanab o'tilgan mahsulotlarga qo'shimcha ravishda FileViewPro kabi universal fayl ko'rish dasturini sinab ko'rishingizni tavsiya qilamiz. Asbob 200 dan ortiq turli xil fayl turlarini ochishi mumkin, bu ularning ko'pchiligini tahrirlash funksiyasini ta'minlaydi.

Litsenziya | | Shartlar |


PYC fayllarini ochish bilan bog'liq muammolarni bartaraf etish

PYC fayllarini ochishda keng tarqalgan muammolar

Python o'rnatilmagan

PYC faylini ikki marta bosish orqali tizim dialog oynasini ko'rishingiz mumkin "Ushbu fayl turini ochib bo'lmaydi". Bunday holda, odatda, bu haqiqatga bog'liq %%os%% uchun Python kompyuteringizga oʻrnatilmagan. Sizning operatsion tizimingiz ushbu fayl bilan nima qilishni bilmagani uchun uni ikki marta bosish orqali uni ocholmaysiz.


Maslahat: Agar siz PYC faylini ochadigan boshqa dasturni bilsangiz, mumkin bo'lgan dasturlar ro'yxatidan ushbu ilovani tanlash orqali faylni ochishga urinib ko'rishingiz mumkin.

Pythonning noto'g'ri versiyasi o'rnatilgan

Ba'zi hollarda sizda Python kompilyatsiya faylining yangiroq (yoki eskiroq) versiyasi bo'lishi mumkin. ilovaning o'rnatilgan versiyasi tomonidan qo'llab-quvvatlanmaydi. Agar sizda Python dasturiy ta'minotining to'g'ri versiyasi (yoki yuqorida sanab o'tilgan boshqa dasturlardan birortasi) bo'lmasa, dasturiy ta'minotning boshqa versiyasini yoki yuqorida sanab o'tilgan boshqa amaliy dasturlardan birini yuklab olishingiz kerak bo'lishi mumkin. Ushbu muammo ko'pincha ishlayotganda paydo bo'ladi amaliy dasturiy ta'minotning eski versiyasi Bilan yangi versiyada yaratilgan fayl, buni eski versiya taniy olmaydi.


Maslahat: Baʼzan faylni oʻng tugmasini bosib, “Xususiyatlar” (Windows) yoki “Maʼlumot olish” (Mac OSX) ni tanlash orqali PYC faylining versiyasi haqida umumiy tasavvurga ega boʻlishingiz mumkin.


Xulosa: Qanday bo'lmasin, PYC fayllarini ochishda yuzaga keladigan muammolarning aksariyati kompyuteringizda to'g'ri dastur o'rnatilmaganligi bilan bog'liq.

Ixtiyoriy mahsulotlarni o'rnating - FileViewPro (Solvusoft) | Litsenziya | Maxfiylik siyosati | Shartlar |


PYC fayllarini ochish bilan bog'liq muammolarning boshqa sabablari

Kompyuteringizda allaqachon Python yoki boshqa PYC bilan bog'liq dasturiy ta'minot o'rnatilgan bo'lsa ham, Python kompilyatsiya qilingan fayllarni ochishda muammolarga duch kelishingiz mumkin. Agar siz hali ham PYC fayllarini ochishda muammolarga duch kelsangiz, buning sababi bo'lishi mumkin ushbu fayllarni ochishga to'sqinlik qiladigan boshqa muammolar. Bunday muammolar o'z ichiga oladi (ko'pdan eng kam tarqalgangacha bo'lgan tartibda taqdim etilgan):

  • PYC fayllariga havolalar noto‘g‘ri Windows reestrida (Windows operatsion tizimining telefon kitobi)
  • Ta'rifni tasodifan o'chirish Windows registridagi PYC fayli
  • Tugallanmagan yoki noto'g'ri o'rnatish PYC formati bilan bog'langan amaliy dasturiy ta'minot
  • Fayl buzilishi PYC (Python kompilyatsiya faylining o'zi bilan bog'liq muammolar)
  • PYC infektsiyasi zararli dastur
  • Buzilgan yoki eskirgan qurilma drayverlari PYC fayli bilan bog'langan apparat
  • Kompyuterda etarli tizim resurslarining etishmasligi Python kompilyatsiya fayl formatini ochish uchun

Viktorina: Ierarxik fayl tizimi (masalan, fayllarli papkalar) birinchi bo'lib qaysi operatsion tizimdan foydalangan?

To'g'ri!

Multics kataloglar ierarxiyasini qo'llab-quvvatlaydigan birinchi OT edi (masalan, "Uy" -> "Hujjatlar" ->

Yaqin, lekin unchalik emas...

Multics kataloglar ierarxiyasini qo'llab-quvvatlaydigan birinchi OT edi (masalan, "Uy" -> "Hujjatlar" -> "Ish"). Deyarli har bir zamonaviy operatsion tizim Multics tomonidan qattiq ta'sirlangan.


Eng yaxshi operatsion tizimlar

Windows (82.33%)
Android (11.56%)
iOS (3.43%)
Macintosh (1.71%)
Linux (0.60%)

Kunning voqeasi

Bir qator RAW formatlari mavjud bo'lib, ularning har biri tegishli kamera kompaniyasi tomonidan yaratilgan. Canonning RAW formati CR2 va CRW; Kodak - bu DCR; Minolta MRW ega; va Nikon, Olympus, Pentax, Fuji va Sony mos ravishda NEF, ORF, PEF, RAF va OCP ga ega.



PYC fayllarini ochish bilan bog'liq muammolarni qanday hal qilish mumkin

Agar siz kompyuteringizga o'rnatgan bo'lsangiz antivirus dasturi mumkin kompyuteringizdagi barcha fayllarni, shuningdek, har bir faylni alohida skanerlang. Faylni sichqonchaning o'ng tugmasi bilan bosish va faylni viruslarga tekshirish uchun mos variantni tanlash orqali istalgan faylni skanerlashingiz mumkin.

Misol uchun, bu rasmda u ta'kidlangan my-file.pyc fayli, keyin ushbu faylni sichqonchaning o'ng tugmasi bilan bosishingiz va fayl menyusidagi variantni tanlashingiz kerak "AVG bilan skanerlash". Ushbu parametrni tanlaganingizda, AVG Antivirus dasturi ochiladi va faylni viruslarga tekshiradi.


Ba'zida natijada xatolik yuz berishi mumkin dasturiy ta'minotni noto'g'ri o'rnatish, bu o'rnatish jarayonida duch kelgan muammo tufayli bo'lishi mumkin. Bu operatsion tizimingizga xalaqit berishi mumkin PYC faylingizni to'g'ri dastur ilovasiga bog'lang, deb atalmish ta'sir "fayl kengaytmalari assotsiatsiyasi".

Ba'zan oddiy Python-ni qayta o'rnatish PYC-ni Python bilan to'g'ri bog'lash orqali muammoingizni hal qilishi mumkin. Boshqa hollarda, fayl assotsiatsiyasi bilan bog'liq muammolar kelib chiqishi mumkin yomon dasturiy ta'minot dasturlash dasturchi va qo'shimcha yordam uchun dasturchi bilan bog'lanishingiz kerak bo'lishi mumkin.


Maslahat: Eng so'nggi yamoq va yangilanishlarga ega ekanligingizga ishonch hosil qilish uchun Python-ni eng so'nggi versiyasiga yangilab ko'ring.


Bu juda aniq ko'rinishi mumkin, lekin tez-tez PYC faylining o'zi muammoga sabab bo'lishi mumkin. Agar siz faylni elektron pochta ilovasi orqali olgan boʻlsangiz yoki uni veb-saytdan yuklab olgan boʻlsangiz va yuklab olish jarayoni toʻxtatilgan boʻlsa (masalan, elektr uzilishi yoki boshqa sabab), faylga zarar yetishi mumkin. Iloji bo'lsa, PYC faylining yangi nusxasini olishga harakat qiling va uni qaytadan ochib ko'ring.


Ehtiyotkorlik bilan: Shikastlangan fayl kompyuteringizdagi oldingi yoki mavjud zararli dasturlarga garov zarar etkazishi mumkin, shuning uchun kompyuteringizni yangilangan antivirus bilan yangilab turish muhimdir.


Agar sizning PYC faylingiz bo'lsa kompyuteringizdagi apparat bilan bog'liq faylni ochish uchun kerak bo'lishi mumkin qurilma drayverlarini yangilash ushbu uskuna bilan bog'liq.

Bu muammo odatda media fayl turlari bilan bog'liq, bu kompyuter ichidagi apparatni muvaffaqiyatli ochishga bog'liq, masalan. ovoz kartasi yoki video karta. Misol uchun, agar siz audio faylni ochmoqchi bo'lsangiz, lekin uni ocholmasangiz, kerak bo'lishi mumkin ovoz kartasi drayverlarini yangilash.


Maslahat: Agar siz PYC faylini ochmoqchi bo'lsangiz, siz olasiz .SYS fayli xato xabari, muammo bo'lishi mumkin buzilgan yoki eskirgan qurilma drayverlari bilan bog'liq bu yangilanishi kerak. Bu jarayonni DriverDoc kabi drayverlarni yangilash dasturlari yordamida osonlashtirish mumkin.


Agar qadamlar muammoni hal qilmasa va siz hali ham PYC fayllarini ochishda muammolarga duch kelyapsiz, buning sababi bo'lishi mumkin mavjud tizim resurslarining etishmasligi. PYC fayllarining ba'zi versiyalari kompyuteringizda to'g'ri ochilishi uchun katta miqdordagi resurslarni (masalan, xotira/RAM, ishlov berish quvvati) talab qilishi mumkin. Agar siz juda eski kompyuter uskunasidan va ayni paytda ancha yangi operatsion tizimdan foydalansangiz, bu muammo juda keng tarqalgan.

Bu muammo kompyuter vazifani bajarishda qiynalayotganda yuzaga kelishi mumkin, chunki operatsion tizim (va fonda ishlaydigan boshqa xizmatlar) PYC faylini ochish uchun juda ko'p resurslarni sarflang. Python kompilyatsiya faylini ochishdan oldin kompyuteringizdagi barcha ilovalarni yoping. Kompyuteringizdagi barcha mavjud resurslarni bo'shatish PYC faylingizni ochishga urinish uchun eng yaxshi sharoitlarni ta'minlaydi.


Agar Siz yuqorida tavsiflangan barcha bosqichlarni bajaring va PYC faylingiz hali ham ochilmaydi, ishga tushirishingiz kerak bo'lishi mumkin uskunani yangilash. Aksariyat hollarda, apparatning eski versiyalaridan foydalanilganda ham, ishlov berish quvvati ko‘pchilik foydalanuvchi ilovalari uchun yetarli bo‘lishi mumkin (agar siz 3D renderlash, moliyaviy/ilmiy modellashtirish yoki protsessorni talab qiladigan ko‘p ishlarni qilmasangiz). intensiv multimedia ishi). Shunday qilib, ehtimol kompyuteringizda xotira yetarli emas(odatda "RAM" yoki tasodifiy kirish xotirasi deb ataladi) faylni ochish vazifasini bajarish uchun.

Xotirangizni yangilashga harakat qiling bu PYC faylini ochishga yordam beradimi yoki yo'qligini bilish uchun. Bugungi kunda xotirani yangilash ancha arzon va o'rnatish juda oson, hatto oddiy kompyuter foydalanuvchisi uchun ham. Bonus sifatida siz ehtimol siz yaxshi samaradorlikni ko'rasiz kompyuteringiz boshqa vazifalarni bajarayotganda.


Ixtiyoriy mahsulotlarni o'rnating - FileViewPro (Solvusoft) | Litsenziya | Maxfiylik siyosati | Shartlar |


10 ta javob

Tarjima qilingan til degan narsa yo'q. Tarjimon yoki kompilyatordan foydalaniladimi, bu faqat amalga oshirish xususiyati va tilga mutlaqo aloqasi yo'q.

Har bir til tarjimon yoki kompilyator tomonidan amalga oshirilishi mumkin. Ko'pgina tillarda har bir turdagi kamida bitta dastur mavjud. (Masalan, C va C++ uchun tarjimonlar mavjud va JavaScript, PHP, Perl, Python va Ruby uchun kompilyatorlar mavjud.) Bundan tashqari, aksariyat zamonaviy til ilovalari aslida ham tarjimonni, ham kompilyatorni (hatto bir nechta kompilyatorlarni) birlashtiradi.

Til faqat mavhum matematik qoidalar to'plamidir. Tarjimon til uchun bir nechta maxsus amalga oshirish strategiyalaridan biridir. Ikkisi butunlay boshqa mavhumlik darajalarida yashaydi. Agar ingliz tili terilgan til bo'lsa, "tarjima qilingan til" atamasi tip xatosi bo'lar edi. "Python - bu talqin qilinadigan til" iborasi nafaqat noto'g'ri (chunki noto'g'ri bo'lish bu bayonot noto'g'ri bo'lsa ham mantiqiy ekanligini anglatadi), bu shunchaki mantiqiy emas, chunki tilni hech qachon "tarjima qilingan" deb ta'riflab bo'lmaydi.

Xususan, agar mavjud Python ilovalariga qarasangiz, ular foydalanadigan amalga oshirish strategiyalari:

  • IronPython: DLR daraxtlariga kompilyatsiya qiladi, keyinchalik DLR ularni CIL bayt kodiga kompilyatsiya qiladi. CIL baytkodi bilan nima sodir bo'lishi siz qaysi VES CLI dan foydalanishingizga bog'liq, ammo Microsoft.NET, GNU Portable.NET va Novell Mono oxir-oqibat uni mahalliy mashina kodiga kompilyatsiya qiladi.
  • Jython: Python manba kodini talqin qiladi, u issiq kod yo'llarini aniqlamaguncha, keyin JVML bayt kodiga kompilyatsiya qilinadi. JVML baytkodi bilan nima sodir bo'lishi siz ishlayotgan JVMga bog'liq. Maxine uni to'g'ridan-to'g'ri optimallashtirilmagan mahalliy kodga to'g'ridan-to'g'ri kompilyatsiya qiladi, u issiq kod yo'llarini aniqlamaguncha, so'ngra optimallashtirilgan mahalliy kodga qayta kompilyatsiya qiladi. HotSpot avval JVML bayt kodini sharhlaydi va keyin optimallashtirilgan mashina kodiga hotcode yo'llarini kompilyatsiya qiladi.
  • PyPy: PyPy bayt-kodini kompilyatsiya qiladi, keyin PyPy VM tomonidan issiq kod yo'llarini aniqlamaguncha sharhlanadi, so'ngra qaysi platformada ishlayotganingizga qarab mahalliy kodga, JVML baytekodiga yoki CIL bayt kodiga kompilyatsiya qiladi?
  • CPython: CPython baytekodiga kompilyatsiya qilinadi, keyin esa sharhlanadi.
  • Stackless Python: CPython baytkodiga kompilyatsiya qilinadi, keyin esa sharhlanadi.
  • Yuklanmagan qaldirg'och: CPython baytkodiga kompilyatsiya qiladi, so'ngra u issiq kod yo'llarini aniqlamaguncha sharhlanadi, so'ngra ularni LLVM IR ga kompilyatsiya qiladi, keyin esa LLVM kompilyatori mahalliy mashina kodiga kompilyatsiya qiladi.

Siz ushbu roʻyxatdagi ilovalarning har birida (shuningdek, men tilga olmagan baʼzilari, masalan, tinypy, Shedskin yoki Psyco) kompilyatorga ega ekanligini payqagandirsiz. Aslida, mening ma'lumotimga ko'ra, hozirda sof talqin qilinadigan Python ilovasi yo'q, bunday amalga oshirish rejalashtirilmagan va hech qachon bunday amalga oshirilmagan.

"Tarjima qilingan til" atamasi nafaqat ma'nosiz, hatto uni "tarjima qilingan til" degan ma'noda talqin qilsangiz ham, bu aniq noto'g'ri. Buni sizga kim aytgan bo'lsa, u nima haqida gapirayotganini bilmaydi.

Xususan, siz koʻrib turgan .pyc fayllari CPython, Stackless Python yoki Unladen Swallow tomonidan ishlab chiqarilgan keshlangan bayt-kod fayllaridir.

Ular .py faylini import qilganingizda Python tarjimoni tomonidan yaratiladi va import qilingan modul/dasturning "kompilyatsiya qilingan baytkodi" ni o'z ichiga oladi, asosiy koddan bayt-kodga "tarjima" (faqat bir marta amalga oshirilishi kerak) degan fikrdir. Agar .pyc mos keladigan .py faylidan yangiroq bo'lsa, keyingi importni o'tkazib yuborish mumkin, bu esa ishga tushirishni biroz tezlashtiradi. Ammo u hali ham talqin qilinmoqda.

BU BOSHLANGANLAR UCHUN

Python skriptingizni ishga tushirishdan oldin avtomatik ravishda bayt kodi deb ataladigan kompilyatsiya qilingan kodga kompilyatsiya qiladi.

Skriptni ishga tushirish import hisoblanmaydi va .pyc ni yaratmaydi.

Misol uchun, agar sizda fayl bo'lsa abc.py boshqa modulni import qiluvchi skript xyz.py ishga tushirishda abc.py, xyz.pyc xyg import qilingani uchun yaratiladi, lekin abc.pyc fayli bo'lmaydi yaratilgan, beri abc. py import qilinmaydi.

Import qilinmaydigan modul uchun .pyc faylini yaratish kerak bo'lsa, siz py_compile va compileall modullaridan foydalanishingiz mumkin.

py_compile moduli har qanday modulni qo'lda kompilyatsiya qilishi mumkin. Buning usullaridan biri bu modulda py_compile.compile funksiyasidan interaktiv tarzda foydalanishdir:

>>> import py_compile >>>

Bu .pyc ni abc.py bilan bir joyda yozadi (siz buni ixtiyoriy cfile parametri bilan bekor qilishingiz mumkin).

Shuningdek, siz kompilyatsiya moduli yordamida katalog yoki kataloglardagi barcha fayllarni avtomatik ravishda kompilyatsiya qilishingiz mumkin.

Python -m kompilyatsiya

Agar katalog nomi (ushbu misoldagi joriy katalog) o'tkazib yuborilsa, modul sys.path da topilgan hamma narsani kompilyatsiya qiladi.

Modullarni yuklashni tezlashtirish uchun Python modullarning kompilyatsiya qilingan tarkibini .pyc da keshlaydi.

CPython manba kodini "bayt kodi"ga kompilyatsiya qiladi va ishlash sabablariga ko'ra, manba faylida har doim o'zgarishlar bo'lsa, ushbu bayt kodini fayl tizimida keshlaydi. Bu Python modullarini yuklashni ancha tezlashtiradi, chunki kompilyatsiya bosqichini chetlab o'tish mumkin. Manba faylingiz foo.py bo'lsa, CPython manba kodining yonidagi foo.pyc faylidagi bayt kodini keshlaydi.

Python3 da Python import mexanizmi har bir Python paketi katalogidagi bitta katalogda kesh-kod fayllarini yozish va qidirish uchun kengaytirilgan. Ushbu katalog __pycache__ deb nomlanadi.

Bu erda yuklash modullarini tavsiflovchi oqim diagrammasi:

Qo'shimcha ma'lumot uchun:

Python (hech bo'lmaganda uning eng keng tarqalgan ilovasi) xom manba kodini bayt kodlariga kompilyatsiya qilish va keyin virtual mashinada bayt kodlarini sharhlash naqshiga amal qiladi. Bu degani (yana, eng keng tarqalgan dastur) na sof tarjimon, na sof kompilyator.

Biroq, buning boshqa tomoni shundaki, kompilyatsiya jarayoni asosan yashirin - .pyc fayllari asosan kesh sifatida ko'rib chiqiladi; ular ishlarni tezlashtiradi, lekin siz ularni umuman bilishingiz shart emas. Faylning vaqt/sana belgilari asosida kerak bo'lganda ularni avtomatik ravishda bekor qiladi va qayta yuklaydi (manba kodini qayta kompilyatsiya qiladi).

Taxminan men bu bilan bog'liq muammoni ko'rgan yagona narsa, tuzilgan bayt-kod fayli kelajakda vaqt tamg'asiga ega bo'lganida, ya'ni u har doim asl fayldan yangiroq ko'rinardi. U yangiroq ko'rinishga ega bo'lgani uchun asl fayl hech qachon qayta kompilyatsiya qilinmagan, shuning uchun siz qanday o'zgarishlar qilsangiz ham, ular e'tiborga olinmadi...

Python *.py fayli oddiygina matnli fayl bo'lib, unda siz bir necha qator kodlarni yozasiz. Ushbu faylni "python filename.py" yordamida bajarishga harakat qilganingizda

Bu buyruq Python virtual mashinasini chaqiradi. Python virtual mashinasi ikkita komponentdan iborat: “kompilyator” va “tarjimon”. Tarjimon *.py faylidagi matnni bevosita o'qiy olmaydi, shuning uchun bu matn avval PVM uchun mo'ljallangan bayt kodiga aylantiriladi. (apparat uchun emas, balki PVM). PVM ushbu bayt kodini bajaradi. *.pyc shuningdek, qobiqdagi fayl yoki boshqa faylda import operatsiyasini bajaradigan ishga tushirishning bir qismi sifatida yaratilgan.

Agar bu *.pyc fayli allaqachon yaratilgan bo'lsa, siz *.py faylingizni har safar ishga tushirganingizda/bajarganingizda, tizim kompilyatsiya qilish shart bo'lmagan *.pyc faylingizni to'g'ridan-to'g'ri yuklaydi (bu sizga bir necha protsessor sikllarini tejaydi) ).

*.pyc fayli yaratilgandan so'ng, uni tahrir qilmaguningizcha *.py fayliga ehtiyoj qolmaydi.

.pyc faylini yaratib bo'lmasligining sabablaridan biri katalog ruxsati bilan bog'liq muammolardir. Bu, masalan, bir foydalanuvchi sifatida rivojlanayotgan bo'lsangiz, lekin boshqa foydalanuvchi sifatida ishlayotgan bo'lsangiz, masalan, veb-server bilan sinovdan o'tayotgan bo'lsangiz sodir bo'lishi mumkin. Agar siz modulni import qilsangiz va Python kompilyatsiya qilingan modulni katalogga qayta yozish imkoniyatiga (ruxsatnomalar, bo'sh joy va h.k.) ega bo'lsa, .pyc faylini yaratish avtomatik ravishda amalga oshiriladi.

Skriptni ishga tushirish import hisoblanmaydi va .pyc yaratilmaydi. Misol uchun, agar sizda boshqa xyz.py modulini import qiluvchi abc.py skript fayli bo'lsa, abc ishga tushirilishi xyz import qilingani uchun xyz.pyc ni yaratadi, lekin abc.py import qilinmagani uchun abc.pyc fayli yaratilmaydi.

Import qilinmagan modul uchun .pyc faylini yaratish kerak bo'lsa, siz py_compile va compileall modullaridan foydalanishingiz mumkin.

py_compile moduli har qanday modulni qo'lda kompilyatsiya qilishi mumkin. Buning usullaridan biri bu modulda py_compile.compile funksiyasidan interaktiv foydalanish:

>>> import py_compile >>> py_compile.compile("abc.py")

Bu .pyc ni abc.py bilan bir xil joyga yozadi (uni ixtiyoriy cfile parametri bilan bekor qilishingiz mumkin).

Shuningdek, siz kompilyatsiya moduli yordamida katalog yoki kataloglardagi barcha fayllarni avtomatik ravishda kompilyatsiya qilishingiz mumkin.

Python -m compileall.

Agar katalog nomi (ushbu misoldagi joriy katalog) o'tkazib yuborilsa, modul topilgan hamma narsani sys.path ichiga kompilyatsiya qiladi.

Agar sizni qiziqtirsa, dis moduli yordamida bayt kodini ko'rishingiz mumkin:

>>> def salom(): ... "salom!" ... >>> dis.dis(salom) 2 0 LOAD_CONST 1 (“salom!”) 3 PRINT_ITEM 4 PRINT_NEWLINE 5 LOAD_CONST 0 (Yo‘q) 8 RETURN_VALUE