Найти - Пользователи
Полная версия: Перенос *.pyc с локальной windows на хостинг под Unix
Начало » Python для новичков » Перенос *.pyc с локальной windows на хостинг под Unix
1
pioner
Python 2.3 компилированные файлы в винде были перенесены на хостинг с юникс и Python 2.5 - ошибка:
ImportError: Bad magic number in ….путь…/mymod.pyc

В литературе четко об этом информации не видел, но общие слова про кроссплатформенность говорят что все должно работать без новой копиляции.

Прошу прокоментировать.
amigo
говорят что все должно работать без новой копиляции.
установите python той же версии и всё будет работать
Андрей Светлов
Верно. pyc файлы кроссплатформенные. Но в начале каждого файла идет заголовок. В нем указывается номер версии Питона, которым этот файл был создан.
Это важно, потому что байткод изменяется от версии к версии, добавляются новые инструкции а старые начинают работать немного иначе.
Чтобы избавить себя от головной боли обратной совместимости хотя бы для pyc файлов (которые разработчики предпочитают рассматривать только как кеш, основа - исходный py код - OpenSource и все такое) считается, что pyc совместимы только в пределах главной версии - 2.4, 2.5, 2.6, 3.1 и т.д
На самом деле может быть несовместимость между альфа и бета версией (разные magic code) - но после выхода в релиз ничего не поменяется, это гарантированно.
ZZZ
Андрей Светлов
в начале каждого файла идет заголовок
Наверное стоит добавить, что это и есть “magic number”…
Андрей Светлов
если быть точным, заголовок состоит из 8 байт - 4 на magic number и 4 на время создания pyc файла.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB