Другой вариант для рассмотрения - Zenity: http://freecode.com/projects/zenity.
У меня была ситуация, когда я разрабатывал приложение на сервере Python (без компонента GUI) и, следовательно, не хотел вводить зависимость от каких-либо наборов инструментов Python GUI, но я хотел, чтобы некоторые из моих сценариев отладки были параметризованы входными файлами и хотел визуально запросить у пользователя файл, если он не указал его в командной строке. Zenity идеально подходил. Для этого вызовите «zenity --file-selection» с помощью модуля подпроцесса и перехватите стандартный вывод. Конечно, это решение не зависит от Python.
Zenity поддерживает несколько платформ и, как оказалось, уже была установлена на наших серверах разработчиков, поэтому она упростила нашу отладку / разработку без появления нежелательных зависимостей.