Как я могу заменить сборку Python 2.65 UCS-2 сборкой, построенной с использованием UCS-4, не теряя все в своих пакетах сайта? - PullRequest
0 голосов
/ 28 июля 2010

Я скачал исходный код Python 2.6.5, собрал его для 64-битной ОС 10.6.4 и установил множество зависимостей. Я открыл большой проект, над которым недавно работала наша команда, запустил модульные тесты, и один из тестов не прошел, потому что я установил Python, собранный с использованием UCS-2 (я не знал, что это по умолчанию OS X!) 1001 *

В двух словах: Я не поставил флаг --enable-unicode=ucs4 при сборке Python. (как я обнаружил, было необходимо: http://copia.posterous.com/confusion-over-python-storage-form-for-unicod)

Теперь я хочу исправить это, не теряя все, что помещаю в site-пакеты.

Возможно ли это? Если да, то как?

Спасибо! Мишо

1 Ответ

1 голос
/ 28 июля 2010

Вы можете сохранить и восстановить /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages (например, как .tar.bz2), но восстановленные .so не будут работать должным образом, если какая-либо из их точек входа будет иметь дело с объектами Python Unicode - так, пакетов (содержащих любые такие .so файлы) вам придется перестраивать / переустанавливать, когда ваша новая версия Python работает!Надеюсь, это далеко от всего, что вы положили в пакеты сайтов (скрестив пальцы).

...