Вопрос

Я использую CX_Freeze, чтобы заморозить мою программу Python. При запуске CX_Freeze создается куча файлов PYD, целая куча файлов PYC помещается в архив с именем library.zip, и там тоже несколько файлов DLL.

Может кто-нибудь сказать мне разницу между PYC и файлами PYD? Какова причина для файлов PYD не в библиотеке .zip? Можно ли поставить файлы PYD в архив?

Спасибо.

Это было полезно?

Решение

Отказ от ответственности: Я не использовал CX_FREEZE в некоторое время ......

.PYD файлы - это файлы машинного кода DLL, которые содержат определенные функции, требуемые Python.

.Pyc-файлы .py файлы, которые были скомпилированы в Bytecode.

так что Pyds - это машина машинного кода, а PYCS являются Bytecode

Теперь, как и за то, почему pyds не в .zip .... Я бы представлял, что это потому, что эти .pyds нужны переводчиком Python для запуска программы. Какой CX_FREEZE имеет в основном это:

  1. Скомпилируйте все файлы .py и бросьте файлы. pyc в zip
  2. Поместите все необходимые файлы. pyd в zip
  3. Создайте файл заглушки и поместите его в выходной каталог
  4. Скопируйте Python.exe и переименуйте на MyProgram.exe
  5. Скопируйте все файлы .pyd, необходимые для открытия .zip и запустить содержимое

Таким образом, вы на самом деле не составляете свой файл Python, вы вместо этого переименяете интерпрентацию и замораживаете все исходные файлы.

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top