Могу ли я использовать модуль подпроцесса Python 2.7 из Python 2.6? - PullRequest
6 голосов
/ 12 февраля 2012

Могу ли я использовать модули Python 2.7 из Python 2.6?Или сделать что-то для достижения того же эффекта?

Я ограничен в использовании Python 2.6, но существует проблема в модуле subprocess, предоставляемом Python 2.6.Это исправлено в Python 2.7.Мне любопытно, если я подстрою это, используя пункт (или эквивалент), чтобы обойти ошибку , временно до обновления в один день.Как бы я поступил так?

Ответы [ 3 ]

3 голосов
/ 12 февраля 2012

Да, обычно. Разница между 2,6 и 2,7 не очень большая, так как 2,7 должен быть мостом между 2,6 и 3,0. В результате большинство модулей Python для 2.7 будут работать в обеих этих версиях (обычно лучше в 2.6, чем 3.0).

Конечно, единственный верный способ узнать ответ - попробовать!

РЕДАКТИРОВАТЬ : Чтобы было ясно, я не рекомендую вам делать это вообще, если у вас есть выбор. Злоупотребление установкой Python только из-за ошибки Python в одном модуле - плохая идея.

1 голос
/ 15 февраля 2012

Этьен Перо предложил использовать бэкпорт подпроцесса Python 3.2, доступный по адресу http://code.google.com/p/python-subprocess32/, вместо взлома установки Python.

Это позволило мне установить модуль в пакеты сайта моей виртуальной среды и выполнить патчкод подпроцесса с http://hg.python.org/cpython/rev/767420808a62, чтобы исправить ошибку, упомянутую в вопросе.После этого простой import subprocess32 as subprocess исправил проблему.

1 голос
/ 13 февраля 2012

Если вы действительно хотите остаться на Python 2.6, но также хотите исправить эту ошибку, я мог бы предложить скомпилировать Python 2.6 из исходного кода, но также применяет соответствующий код исправления ошибки к модулю subprocess от 2.7.

В итоге вы получите пользовательскую сборку Python 2.6. Конечно, если вы застряли на стандартном 2.6, потому что не можете установить любую другую версию, то это не поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...