в чем разница между python 3.3 и 3.3m

В чем разница между python 3.3 и 3.3m

Я использую Ubuntu 13.04 Raring, и в моей системе у меня есть python2.7 и python3.3 (я знаю разницу между 2 и 3).

Но я также установил python3.3m (и это не символическая ссылка на 3.3). Так что же означает m?


person willix    schedule 19.12.2013    source источник
comment
более лучше? ... это действительно вопрос программирования?   -  person Tim Seguine    schedule 20.12.2013
comment
что говорит apt-cache show?   -  person behzad.nouri    schedule 20.12.2013
comment
Мне кажется, что-то связанное с разработкой модуля Python. Хотя это предположение. Не цитируйте меня.   -  person Tim Seguine    schedule 20.12.2013
comment
Это не должно было быть закрыто. На самом деле это важное различие! Суффикс m означает конкретно сборку Python с помощью pymalloc, и это может означать, что ABI 3.3 на вашей платформе не совпадает с ABI 3.3m; модули расширения должны быть созданы для конкретного рассматриваемого ABI. Это означает, что модули расширения 3.3 не будут работать с 3.3m и наоборот. Изменение тегов версий Python было предложено и принято как PEP-3149: версия ABI с тегом . так файлы.   -  person nneonneo    schedule 05.04.2014
comment
@nneonneo, почему бы не сделать это ответом?   -  person kojiro    schedule 05.04.2014
comment
@kojiro: До недавнего времени вопрос был закрыт. Сейчас я преобразую его в ответ.   -  person nneonneo    schedule 05.04.2014


Ответы (2)


python3 является символической ссылкой на python3.3

python3.3 — это жесткая ссылка на python3.3m


И, как указано в ответе @nneonneo, Суффикс m означает именно сборку Python "pymalloc". Тогда ссылки делают то, что они делают.

person Skyler    schedule 19.12.2013
comment
просто для того, чтобы сделать имя файла не таким же. нет определенного смысла. это не другая версия python. - person Skyler; 20.12.2013
comment
Но почему Ubuntu должна создавать эту жесткую ссылку? Такого нет ни в одном другом дистрибутиве. - person Martijn Pieters; 20.12.2013
comment
@MartijnPieters Никакой другой дистрибутив этого не делает. Arch Linux делает. - person Veedrac; 08.01.2014
comment
Так почему же ArchLinux создает ссылку? - person Martijn Pieters; 08.01.2014

Суффикс m означает конкретно сборку Python "pymalloc", и это может означать, что ABI версии 3.3 на вашей платформе отличается от ABI версии 3.3m. Модули расширения должны быть созданы для конкретного рассматриваемого ABI. Это означает, что модули расширения 3.3 не будут работать с 3.3м и наоборот.

Изменение тегов версий Python было предложено и принято как PEP-3149: версия ABI с тегом .so файлы.

person nneonneo    schedule 05.04.2014
comment
И, очевидно, это не имеет значения, если вы имеете дело с модулями на чистом Python. Спасибо за обновление, мне было интересно, придется ли мне добавлять еще одну версию Python для запуска моих тестов. Тем не менее, поскольку я делаю только модули на чистом Python, мне не придется заботиться о модулях m. - person sorin; 15.07.2015