Полезные... Интернет  Безопасность

Что такое расширение файла PYC? Если Python интерпретируется, что такое.pyc файлы? Файл pyc программа для открытия

Мы надеемся, что помогли Вам решить проблему с файлом PYC. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл PYC может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл PYC может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле PYC, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла PYC должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла PYC не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла PYC мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле PYC.

Самой частой причиной проблем с раскрытием файла PYC является просто отсутствие соответствующих приложений, установленных на Вашем компьютере. В таком случае достаточно найти, скачать и установить приложение, обслуживающее файлы в формате PYC - такие программы доступны ниже.

Поисковая система

Введите расширение файла

Помощь

Подсказка

Необходимо учесть, что некоторые закодированные данные из файлов, которые наш компьютер не читает, иногда можно просмотреть в Блокноте. Таким образом мы прочитаем фрагменты текста или числа - Стоит проверить, действует ли этот метод также в случае файлов PYC.

Что сделать, если приложение со списка уже было установлено?

Часто установленное приложение должно автоматически связаться с файлом PYC. Если это не произошло, то файл PYC успешно можно связать вручную с ново установленным приложением. Достаточно нажать правой кнопкой мышки на файл PYC, а затем среди доступных выбрать опцию "Выбрать программу по умолчанию". Затем необходимо выбрать опцию "Просмотреть" и отыскать избранное приложение. Введенные изменения необходимо утвердить с помощью опции "OK".

Программы, открывающие файл PYC

Windows
Mac OS
Linux

Почему я не могу открыть файл PYC?

Проблемы с файлами PYC могут иметь также другую почву. Иногда даже установление на компьютере программного обеспечения, обслуживающего файлы PYC не решит проблему. Причиной невозможности открытия, а также работы с файлом PYC может быть также:

Несоответственные связи файла PYC в записях реестра
- повреждение файла PYC, который мы открываем
- инфицирование файла PYC (вирусы)
- слишком маленький ресурс компьютера
- неактуальные драйверы
- устранение расширения PYC из реестра системы Windows
- незавершенная установка программы, обслуживающей расширение PYC

Устранение этих проблем должно привести к свободному открытию и работе с файлами PYC. В случае, если компьютер по-прежнему имеет проблемы с файлами, необходимо воспользоваться помощью эксперта, который установит точную причину.

Мой компьютер не показывает расширений файлов, что сделать?

В стандартных установках системы Windows пользователь компьютера не видит расширения файлов PYC. Это успешно можно изменить в настройках. Достаточно войти в "Панель управления" и выбрать "Вид и персонализация". Затем необходимо войти в "Опции папок", и открыть "Вид". В закладке "Вид" находится опция "Укрыть расширения известных типов файлов" - необходимо выбрать эту опцию и подтвердить операцию нажатием кнопки "OK". В этот момент расширения всех файлов, в том числе PYC должны появится сортированные по названию файла.

10 ответов

Нет такой вещи, как интерпретируемый язык. Используется ли интерпретатор или компилятор, является исключительно признаком реализации и не имеет абсолютно никакого отношения к языку.

Каждый язык может быть реализован либо интерпретатором, либо компилятором. Подавляющее большинство языков имеют по крайней мере одну реализацию каждого типа. (Например, существуют интерпретаторы для C и С++ и существуют компиляторы для JavaScript, PHP, Perl, Python и Ruby.) Кроме того, большинство современных реализаций языка фактически сочетают как интерпретатор, так и компилятор (или даже несколько компиляторов).

Язык - это всего лишь набор абстрактных математических правил. Интерпретатор является одной из нескольких конкретных стратегий реализации для языка. Эти двое живут на совершенно разных уровнях абстракции. Если английский был типизированным языком, термин "интерпретируемый язык" был бы ошибкой типа. Утверждение "Python - интерпретируемый язык" не просто неверно (потому что, будучи ложным, подразумевает, что утверждение даже имеет смысл, даже если оно неверно), это просто не имеет смысла, потому что язык никогда не может быть определен как "интерпретируется".

В частности, если вы посмотрите на существующие в настоящее время реализации Python, это стратегии реализации, которые они используют:

  • IronPython: компилируется в DLR-деревья, которые DLR затем компилирует в байт-код CIL. Что происходит с байтовым кодом CIL, зависит от того, какой CLI VES вы используете, но Microsoft.NET, GNU Portable.NET и Novell Mono в конечном итоге скомпилируют его с собственным машинным кодом.
  • Jython: интерпретирует исходный код Python, пока он не идентифицирует пути горячего кода, который затем компилируется в байт-код JVML. Что происходит с байт-кодом JVML, зависит от того, на какой JVM вы работаете. Maxine будет напрямую компилировать его в не оптимизированный собственный код до тех пор, пока он не идентифицирует пути горячего кода, который затем перекомпилирует в оптимизированный собственный код. Сначала HotSpot интерпретирует байт-код JVML, а затем компилирует пути для горячего кода для оптимизированного машинного кода.
  • PyPy: компилируется в байт-код PyPy, который затем интерпретируется с помощью PyPy VM до тех пор, пока он не идентифицирует пути горячего кода, которые он затем компилирует в собственный код, байт-код JVML или байтовый код CIL в зависимости от того, на какой платформе вы работаете.
  • CPython: компилируется в байт-код CPython, который затем интерпретируется.
  • Stackless Python: компилируется в байт-код CPython, который затем интерпретируется.
  • Unladen Swallow: компилируется в байт-код CPython, который затем интерпретируется, пока он не идентифицирует пути горячего кода, которые он затем компилирует в LLVM IR, который компилятор LLVM затем компилирует в собственный машинный код.

Вы могли заметить, что каждая из реализаций в этом списке (плюс некоторые другие, о которых я не упоминал, например, tinypy, Shedskin или Psyco) имеет компилятор. На самом деле, насколько мне известно, в настоящее время нет реализации Python, которая интерпретируется чисто, такой реализации не планируется и никогда не было такой реализации.

Не только термин "интерпретируемый язык" не имеет смысла, даже если вы интерпретируете его как означающий "язык с интерпретируемой реализацией", это явно неверно. Тот, кто сказал вам это, очевидно, не знает, о чем он говорит.

В частности, файлы.pyc , которые вы видите, представляют собой кешированные файлы байт-кода, созданные CPython, Stackless Python или Unladen Swallow.

Они создаются интерпретатором Python при импортировании файла.py и содержат "скомпилированный байт-код" импортированного модуля/программы, причем идея заключается в том, что "перевод" из исходного кода в байт-код (который только необходимо выполнить один раз) можно пропустить при последующем import , если.pyc новее, чем соответствующий файл.py , тем самым немного ускоряя запуск. Но он все еще интерпретируется.

ЭТО ДЛЯ НАЧИННИКОВ,

Python автоматически компилирует ваш скрипт для скомпилированного кода, так называемого байтового кода, перед его запуском.

Запуск сценария не считается импортом и не будет создан.pyc.

Например, если у вас есть файл abc.py скрипт, который импортирует другой модуль xyz.py, при запуске abc.py, xyz.pyc будет создан, так как хуг импортируется, но не abc.pyc файл не будет создан , поскольку аЬс. py не импортируется.

Если вам нужно создать файл.pyc для не импортируемого модуля, вы можете использовать модули py_compile и compileall .

Модуль py_compile может вручную скомпилировать любой модуль. Один из способов - использовать функцию py_compile.compile в этом модуле в интерактивном режиме:

>>> import py_compile >>>

Это напишет.pyc в том же месте, что и abc.py (вы можете переопределить это с помощью необязательного параметра cfile).

Вы также можете автоматически скомпилировать все файлы в каталоге или каталогах с помощью модуля compileall.

Python -m compileall

Если имя каталога (текущий каталог в этом примере) опущено, модуль компилирует все, найденное на sys.path

Чтобы ускорить загрузку модулей, Python кэширует скомпилированное содержимое модулей в.pyc.

CPython компилирует исходный код в "байтовый код" и по соображениям производительности кэширует этот байтовый код в файловой системе всякий раз, когда исходный файл имеет изменения. Это значительно ускоряет загрузку модулей Python, поскольку фазу компиляции можно обойти. Когда ваш исходный файл является foo.py, CPython кэширует байтовый код в файле foo.pyc рядом с исходным кодом.

В python3 механизм импорта Python расширяется для записи и поиска файлов кеш-кода в одном каталоге внутри каждого каталога пакетов Python. Этот каталог будет называться __pycache__.

Вот блок-схема, описывающая загрузку модулей:

Для получения дополнительной информации:

Python (по крайней мере, самая распространенная его реализация) следует шаблону компиляции исходного исходного кода в байтовые коды, а затем интерпретирует байтовые коды на виртуальной машине. Это означает (опять же, наиболее распространенная реализация) не является ни чистым интерпретатором, ни чистым компилятором.

Другая сторона этого, однако, заключается в том, что процесс компиляции в основном скрыт - файлы.pyc в основном рассматриваются как кеш; они ускоряют работу, но вам, как правило, вообще не нужно их знать. Он автоматически отменяет и повторно загружает их (перекомпилирует исходный код), когда это необходимо, на основе штампов времени/даты файла.

Об единственном времени, когда я видел проблему с этим, было то, что скомпилированный файл байт-кода каким-то образом получил временную метку в будущем, а это означало, что она всегда выглядела более новой, чем исходный файл. Поскольку он выглядел более новым, исходный файл никогда не перекомпилировался, поэтому независимо от того, какие изменения вы внесли, они были проигнорированы...

Файл Python *.py - это просто текстовый файл, в котором вы пишете некоторые строки кода. Когда вы пытаетесь выполнить этот файл, используя "python filename.py"

Эта команда вызывает виртуальную машину Python. Виртуальная машина Python имеет 2 компонента: "компилятор" и "интерпретатор". Интерпретатор не может напрямую читать текст в файле *.py, поэтому этот текст сначала преобразуется в байтовый код, который предназначен для PVM (а не для аппаратного, но PVM) . PVM выполняет этот байтовый код. *.pyc также генерируется как часть запуска, которая выполняет операцию импорта в файле в оболочке или в каком-либо другом файле.

Если этот *.pyc файл уже сгенерирован, то каждый раз, когда вы запускаете/выполняете свой *.py файл, система напрямую загружает ваш *.pyc файл, который не нуждается в компиляции (это сэкономит вам несколько машинных циклов процессор).

После создания *.pyc файла нет необходимости *.py файла, если вы его не отредактируете.

Одной из причин, по которой файл.pyc не может быть создан, являются проблемы с правами доступа к каталогу. Это может произойти, например, если вы разрабатываете как один пользователь, но работаете как другой, например, если вы тестируете с веб-сервером. Создание файла.pyc происходит автоматически, если вы импортируете модуль, а Python имеет возможность (разрешения, свободное пространство и т.д.) Записать скомпилированный модуль обратно в каталог.

Запуск скрипта не считается импортом, и.pyc не будет создан. Например, если у вас есть файл скрипта abc.py, который импортирует другой модуль xyz.py, при запуске abc будет создан xyz.pyc, поскольку xyz импортирован, но файл abc.pyc не будет создан, так как abc.py isnt импортируется.

Если вам нужно создать файл.pyc для модуля, который не импортируется, вы можете использовать модули py_compile и compileall.

Модуль py_compile может вручную скомпилировать любой модуль. Одним из способов является интерактивное использование функции py_compile.compile в этом модуле:

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

Это запишет.pyc в то же место, что и abc.py (вы можете переопределить его с помощью необязательного параметра cfile).

Вы также можете автоматически скомпилировать все файлы в каталоге или каталогах, используя модуль compileall.

Python -m compileall .

Если имя каталога (текущий каталог в этом примере) опущено, модуль компилирует все найденное в sys.path.

Если вам интересно, вы можете посмотреть байт-код с помощью модуля dis:

>>> def hello(): ... print "hello!" ... >>> dis.dis(hello) 2 0 LOAD_CONST 1 ("hello!") 3 PRINT_ITEM 4 PRINT_NEWLINE 5 LOAD_CONST 0 (None) 8 RETURN_VALUE