2014-01-24 3 views
2

Я использую MacOSX 10.6.8 Я переключился с питона версии 2.6 на Python 2.7 Но модули я скачал для Python 2.6, как SymPy NumPy не работает на 2,7 мне нужно делать снова установить эти вещи отдельно?Переключение на Python 2.7 из 2.6

+3

да, сделаете. Различные версии Python имеют разные байт-коды, поэтому любые скомпилированные библиотеки не будут работать. Просто используйте 'pip', и все будет готово. – MattDMo

+1

@MattDMo Проблема, скорее всего, будет ABI han bybecode. –

+0

@MattDMo за исключением того, что почти * нет * пакет распространяется именно как .pyc' именно по этой причине. Я уверен, что 'numpy' и т. Д. Поставляются с некоторым расширением C (которое вызывает проблемы) и чистым исходным кодом python. @wannaC: Не могли бы вы определить, что означает «не работает»? Python вызывает «ImportError»? Или что? – Bakuriu

ответ

1

Как обсуждалось в комментариях, существует множество проблем, связанных с просто перемещением содержимого вашего каталога site-packages с Python 2.6 до 2.7. Если присутствует какой-либо байт-код (.pyc файлов), есть вероятность, что они не будут работать с новой версией. Также может быть изменен номер ABI. Кроме того, такие модули, как NumPy, скомпилировали C-расширения, которые полагаются на исходные/заголовки версии Python, которые используются для их создания, и которые могут меняться между младшими версиями (2.6 и 2.7). В общем, вы можете использовать пакеты, скомпилированные с 2.7.3 с 2.7.6 (изменилась только микро версия), но, увидев, что произошло большое количество изменений между 2.6 и 2.7 (2.7 имеет довольно много функций, поддерживаемых из 3 .X), используя 2.6 модулей с 2.7, вероятно, это не очень хорошая идея.

Если у вас есть чистый Python модули (не C расширений, любые .pyc или .pyo файлов, удаленных), вы может быть в состоянии использовать их с 2.7, но это было бы так же легко переустановить их с pip-2.7. Модули с скомпилированными библиотеками, такими как NumPy, обязательно нужно будет переустановить. Наконец, некоторые модули могут иметь разные версии для использования с 2.6 против 2.7, которые используют преимущества 2.7 новых функций, поэтому в этом случае было бы целесообразно переустановить.

+0

Итак, я только заметил, что когда я перезапустил терминал и проверил версию python, он все еще показал мне Python 2.6 Так что в случае, если мне нужно переключиться на python 2.7, я написал python2.7 в терминале. В этом случае, как я должен убедиться, что такие модули, как sympy, установлены для python2.7? – blackmamba

Смежные вопросы