Графический интерфейс tkinter не открывается при импорте pysftp

Я работаю над программой, в которой пользователь может вставлять данные через графический интерфейс tkinter, затем они сохраняются в JSON и после этого загружаются на сервер через sftp. Когда я запускаю файл в pycharm, все работает как задумано.

Но когда я пытаюсь сделать это с помощью двойного щелчка по файлу .py, на секунду открывается только командная строка, но не графический интерфейс. Я провел некоторое тестирование и обнаружил, что это происходит только тогда, когда я импортирую pysftp.

Вот простая программа, которую я использовал для тестирования, которая отлично работала:

from tkinter import *
root = Tk()
mainframe = Frame(root)
mainframe.pack()
mainframe.grid()
root.mainloop()

Но если я сделаю это:

from tkinter import *
import pysftp
root = Tk()
mainframe = Frame(root)
mainframe.pack()
mainframe.grid()
root.mainloop()

чем произошло вышеописанное. Я использую Python 3.6 и последнюю версию pysftp.

У кого-нибудь есть идея, почему это происходит? Спасибо


person DavidA    schedule 01.12.2017    source источник
comment
Вы работаете с Windows или Linux, в Linux вы должны начать с командной строки. В Windows вы можете изменить расширение на .pyw: stackoverflow. ком/вопросы/34739315/   -  person Arjen Dijkstra    schedule 01.12.2017
comment
Я работаю в Windows. И когда я использую файл .pyw, вообще ничего не происходит.   -  person DavidA    schedule 01.12.2017
comment
запустите командную строку, а затем запустите код внутри, и вы увидите сообщение об ошибке, которое останавливает программу. А затем поместите полное сообщение об ошибке (Traceback) в вопросе (в виде текста, а не скриншота)   -  person furas    schedule 01.12.2017


Ответы (1)


Вам необходимо упаковать приложение с помощью cx_freeze или py2exe. Я бы рекомендовал py2exe.

Создайте исполняемый файл, а затем попробуйте дважды щелкнуть по нему.

person waqasgard    schedule 01.12.2017