2012-04-24 2 views
-1

Я создал скрипт python с Python 2.5.6 (Windows), протестировал его и работал правильно. После того, как я разместил его на сервере (python 2.4.3, Linux), он скомпилировался, но не работал. Это не дало мне никаких следов или вообще ничего. Поскольку это система trac, она называлась скриптом, а затем вычеркнута.Python 2.5.6 vs 2.4.3

я сузил причину до нескольких функций, которые появляются только в новом файле:

cursor.fetchall() 

или

for x in y 
    if(x == 1): 
     break #does this work? 

или

FILE operations 

Есть ли общая вещь Я контролировал или кто-то знал, что это может быть?

Из-за ограничений я не могу использовать python 2.4 как dev. Мне нужно работать с Trac Standalone, который работает только с python 2.5.x.

+2

В каком смысле это «не работает»? Вы получили сообщение об ошибке - если да, можете ли вы отправить трассировку? Ничего не случилось? – katrielalex

+1

BTW Python 2.4 теперь отвратительно устарел, и вы должны попытаться обновить сервер. – katrielalex

+0

К сожалению, этого не было, и да, это устарело. Но сервер не принадлежит мне, и я не могу его обновить ... – CyrillC

ответ

3

См. What's new in Python 2.5 для окончательного списка функций, добавленных в Python 2.5. Это довольно обширно. В частности:

Новые модули включают в себя ... модуль базы данных SQLite (sqlite)

Как правило, 2.x серии релизов поддерживать назад совместимости. Тем не менее, вы, кажется, ожидаете вперед Совместимость, это совсем другое.

Мой совет двояка:

  1. Python 2.4 очень старый. Если возможно, обновите сервер до более новой версии Python.
  2. Независимо от результата # 1, получите коробку разработчиков на ту же версию Python, которую вы собираетесь использовать на производстве. Это также помогло бы, если бы в блоке dev использовалась одна и та же ОС, как и в окне prod (при необходимости в виртуальной машине).