Pytanie w sprawie user-interface, python, pythonw, tkinter – Dlaczego mój program działa z rozszerzeniem .py, ale nie z rozszerzeniem .pyw?

5

Mam skrypt, który konwertuje Google Earth.kml / .kmz pliki do shapefiles z prostym interfejsem GUI napisanym w Tkinter.

Moim problemem jest to, że działa dobrze z.py rozszerzenie, ale po zapisaniu za pomocą.pyw przedłużenie to zatrzymuje się podczas czytania mojego.kml pliki.

Brak komunikatów o błędach i nie ulega awarii. GUI uruchamia się OK, itp., Ale po prostu zatrzymuje się i zawsze w tym samym miejscu. Używam Pythona 2.5 i miałem takie same wyniki w Pythonie 2.7.

Jakieś pomysły, które mogłyby to spowodować?

Twoja odpowiedź

1   odpowiedź
8

.pyw pliki są uruchamiane inaczej niż pliki .py - są powiązane z innym tłumaczem,pythonw.exe zamiastpython.exe, z którym nie ma konsoli.

Według niektórych źródeł, w tymten stary wątek listy dyskusyjnej niektóre operacje nie działają bez konsoli.

Nie widząc dokładnego skryptu, nie wiemy dokładnie, dlaczego powoduje problempythonw.

W przeszłości natrafiłem na takie problemy - zazwyczaj jest to wypełnienie rury wyjściowej, ponieważ nie ma nikogo, kto mógłby z niej przeczytać. Niektóre aplikacje naprawdę oczekują, że konsola będzie dostępna. Jeśli wysyłają dane do standardowego wyjścia lub standardowego błędu, w końcu rura się zapełnia (ponieważ nic nie zużywa danych), a proces blokuje się, czekając, aż jakieś miejsce będzie dostępne w rurze. AnotherParker
@Nick To prawie na pewno niereadline. Czy używasz jakichkolwiek wywołań systemowych,Popen, nic podobnego? Jeśli opublikujesz swój kod, z przyjemnością się przyjrzę. agf
Dzięki! Rano spaliłem kilka godzin, próbując znaleźć pracę, ale nigdy nie mogłem tego zrozumieć. Podejrzewam, że jest problem z używaniem readline () z pythonw.exe Nick

Powiązane pytania