Какую версию Python использовать для максимальной совместимости

Чтобы получить каждую комбинацию возможных чисел для каждого поля, используйте ndgrid.

[Numbers{1:3}] = ndgrid(a,b,c);

Наличие пронумерованных структур, находящихся в рабочем пространстве, как вы описываете, затрудняет программный доступ к ним, и вы должны избегать его, если это возможно; однако к ним все еще можно получить доступ, используя eval.

evalPattern = strjoin(strcat(Names,'%d'), '.'); % 'a%d.b%d.c%d'
firstNumbers = cellfun(@(n) n(1), Numbers); % [1 4 2]
firstElement = eval(sprintf(evalPattern,firstNumbers)); % returns the value of a1.b4.c2

result = nan([size(firstElement) size(Numbers{1}]);
for ii = 1:numel(Numbers{1})
    iiNumbers = cellfun(@(n) n(ii), Numbers);
    result(:,:,ii) = eval(sprintf(evalPattern,iiNumbers));
end
15
задан Cristian 6 September 2008 в 02:22
поделиться

5 ответов

Поскольку Python натурален из этапа перехода к python 3 с повреждением обратной совместимости, я не думаю, что это - хорошая идея пойти python 3 только. На основе временная шкала будет по крайней мере один или два после выпусков 2.x ряд после 2.6/3.0 в октябре.

Около не имения в наличии python 3 на Ваших целевых платформах, это займет время, пока важные внешние библиотеки Python не будут портированы и применимы на python 3.

Поэтому, поскольку Matthew предлагает остаться в 2.4/2.5 и сохранить переход , план к python 3 в памяти является серьезным выбором.

6
ответ дан 1 December 2019 в 04:47
поделиться

Можно использовать различные версии Python на каждой машине.

Кодирование чего-то нового, я не использовал бы что-то меньшее чем python2.5. Можно сделать apt-get install python2.5 на запасе debian стабильный.

окна For, действительно не волнуйтесь об этом. Очень легко установить python2.5 msi.

, Если пользователи не могут быть побеспокоены, чтобы сделать это, можно развернуть исполняемый файл с py2exe (настолько простой) и создать установщик с установкой inno (снова простой) затем, это будет вести себя как стандартное приложение Windows и будет использовать свой собственный Python dlls, таким образом, никакая потребность установить Python.

Как Peter сказал: имейте в виду переход к 3,0, но еще не основывайтесь на нем.

1
ответ дан 1 December 2019 в 04:47
поделиться

Я не видел систему меньше чем с 2,3 устанавливаемыми в течение некоторого времени. Главным образом 2.4 + установлен по умолчанию для большей части ОС, которую я использую теперь. 2.3 находится только на более старой машине Соляриса. Дистрибутивы Linux имеют тенденцию иметь 2.4 +, как делает OS X.

IIRC, 2.4 имеет много функций 2.5, делает, но применимый только с

from __future__ import *
4
ответ дан 1 December 2019 в 04:47
поделиться

Python 2.3, или 2.2, если можно жить без многих модулей, которые были добавлены (например, дата и время, csv, вход, optparse, zipimport), не использует SSL и готов добавить шаблон для Истинного/ложного.

2,4 добавленных декоратора. выражения генератора, инвертированные (), отсортированный (), и подпроцесс и десятичные модули. Хотя они все хороши, легко написать код Pythonic без них (предполагающий, что Ваш проект не сделал бы интенсивное использование из них).

2,5 добавленных с, относительный импорт, лучшая поддержка на 64 бита и довольно мало скорости. Вы могли жить безо всех тех достаточно легко.

2.6 не выпущен (хотя это очень близко), поэтому в то время как это могло бы обратиться к разработчикам, это не имеет совместимости, которая Вы после.

Смотрят на информацию о версии для 2,3, 2.4, 2.5, и предстоящие 2.6 (использование http://www.python.org/download/releases/2.Y/highlights/ , где 'Y' является вспомогательной версией).

FWIW, для SpamBayes мы поддерживаем 2.2, и выше (2.2 требует установки почтового пакета отдельно). Это не является чрезмерно налоговым, но эти 2,3 дополнения достаточно полезны и 2,3 достаточно взрослых, которые мы, вероятно, отбросим 2.2 в ближайшее время.

1
ответ дан 1 December 2019 в 04:47
поделиться

Если проект будет быть основным и будет работать только на Linux , только разумный выбор - это 2.4 - только потому, что это боль, чтобы получить что-то еще, установленное по умолчанию на предприятии Linux.

В любом случае любой современный ОС будет / может иметь 2,4 или новее.

0
ответ дан 1 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: