Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 11, 2010 16:53:26

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенос *.pyc с локальной windows на хостинг под Unix

Python 2.3 компилированные файлы в винде были перенесены на хостинг с юникс и Python 2.5 - ошибка:
ImportError: Bad magic number in ….путь…/mymod.pyc

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

Прошу прокоментировать.



Офлайн

#2 Июнь 11, 2010 17:54:49

amigo
От:
Зарегистрирован: 2010-06-01
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенос *.pyc с локальной windows на хостинг под Unix

говорят что все должно работать без новой копиляции.
установите python той же версии и всё будет работать



Офлайн

#3 Июнь 11, 2010 18:04:59

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Перенос *.pyc с локальной windows на хостинг под Unix

Верно. pyc файлы кроссплатформенные. Но в начале каждого файла идет заголовок. В нем указывается номер версии Питона, которым этот файл был создан.
Это важно, потому что байткод изменяется от версии к версии, добавляются новые инструкции а старые начинают работать немного иначе.
Чтобы избавить себя от головной боли обратной совместимости хотя бы для pyc файлов (которые разработчики предпочитают рассматривать только как кеш, основа - исходный py код - OpenSource и все такое) считается, что pyc совместимы только в пределах главной версии - 2.4, 2.5, 2.6, 3.1 и т.д
На самом деле может быть несовместимость между альфа и бета версией (разные magic code) - но после выхода в релиз ничего не поменяется, это гарантированно.



Офлайн

#4 Июнь 12, 2010 00:21:12

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Перенос *.pyc с локальной windows на хостинг под Unix

Андрей Светлов
в начале каждого файла идет заголовок
Наверное стоит добавить, что это и есть “magic number”…



Офлайн

#5 Июнь 12, 2010 12:28:22

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Перенос *.pyc с локальной windows на хостинг под Unix

если быть точным, заголовок состоит из 8 байт - 4 на magic number и 4 на время создания pyc файла.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version