2009-12-14 6 views
1

У меня был Python v2.3 в моей системе. Когда я хотел запустить Tkinter сценарий, я мог бы просто использоватьЗапуск сценария Python без явного открытия X11

python myscript.py 

Я недавно обновлен до версии Python 2.5 и теперь мне нужно иметь X11 работает и окружающая среда «DISPLAY» переменная установлена, прежде чем я могу запустить любой из моих сценариев. Это плохо для меня, потому что я не могу распространять любые скрипты, не указывая явно, «если вы используете Python> v2.3, вам нужно будет открыть X11 перед запуском этого скрипта». Есть ли способ обойти это? Я нахожусь в OS X Tiger.

+0

Проверьте этот вопрос в StackOverflow: http://stackoverflow.com/questions/446052/python-best-way-to-check-for-python-version-in-program-that-uses-new-language-fe –

+0

@John: Я не хочу, чтобы скрипт терпел неудачу только потому, что у пользователя появилась более новая версия Python ... похоже, что наказывает их за хорошую работу. –

+0

Думаю, вам больше повезло бы об этом в StackOverflow. –

ответ

0

Если бы мне пришлось угадать (и я это делаю ...), похоже, что вы установили версию python на основе X11 и tkinter вместо той, которая использует встроенную систему окон в OSX. Я думаю, что вы можете спокойно писать свои сценарии, не сообщая людям, что они должны иметь X11. Вам просто нужно сказать, что у них должна быть настроена надлежащая среда - либо родная версия python + Tkinter, либо есть X11, и есть версия python + TKINT

Другими словами, это isn ' t регрессия в python, которую вы должны кодировать, это просто побочный эффект вашей конкретной установки python.

+0

Но нет причин жить с этим. Просто установите правильную версию python, как я объяснил. Теперь, чтобы работать с X11 Tk по сравнению с предыдущим родным Tk, пользователь очень недружелюбен и совершенно ненужен. –

+0

О, согласился! Нет причин жить с ним. Я хотел успокоить гусиный бампер, что это не регресс на Python, а лишь артефакт того, что он решил установить. –

0

Я установил Python 2.6.4 и я не какой-либо проблемы вообще работает без переменной $ DISPLAY ...

Я на Linux ...

1

Установка python2.5 или python2.6 для OS X с python.org. Они используют родной Aqua Tk и поэтому не требуют X11 для сценариев IDLE или python, которые используют Tkinter.

+0

Это точно моя проблема на самом деле ... python2.5 не работает. Python 2.3 делает. –

+0

Если вы установили python.org python, по умолчанию он находится в каталоге/usr/local/bin/python (фактически символические ссылки на /Library/Frameworks/Python.framework/Versions/2.n/bin), а не/usr/bin/python, поэтому убедитесь, что ваша оболочка $ PATH отражает это. Какие модули Python используют сценарии? Насколько мне известно, в стандартной библиотеке Python, поставляемой с установщиками, использующими X11, ничего нет. –

+0

Кстати, если вы установили python2.5 из Fink или, возможно, MacPorts, они могут быть построены с помощью Tk, который использует X11. Вместо этого используйте версию python.org или убедитесь, что используются их варианты Aqua Tk. –

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

  • Нет связанных вопросов^_^