Я использовал эту конфигурацию compile.py довольно много раз с большим успехом. Я только что обнаружил после обновления приложения, что он отлично работает внутри python. Когда я заморожу его, он не будет работать правильно и не выдаст никаких ошибок?Python 3 cx_freeze Win34GUI issue
Вот мой код компиляции:
from cx_Freeze import setup, Executable
import sys
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(name = "MYAPP" ,
version = "0.1" ,
description = "MYAPP" ,
executables = [Executable("MYAPP.py",
icon = "s.ico",
base = base)] ,)
Когда я удалить основание = базовую линию, то .exe запускается с выходным окном, и приложение работает правильно. Если я установил base = base, чтобы удалить окно вывода, приложение не будет работать правильно?
Я считаю, что код проблемы должен быть функцией reporthook для urllib.request.urlretrieve, поскольку он не начинал делать это, пока я не попытался интегрировать этот прогресс. Это часть цикла for, который запускается для каждого файла, который я пытаюсь загрузить. Он загрузит 1-й файл, а затем остановится после того, как он достигнет 100%, только если я установил base = base в файле compile.py ...
Я потерян.
Спасибо за помощь!
def reporthook(blocknum, blocksize, totalsize):
percent = 0
readsofar = blocknum * blocksize
if totalsize > 0:
percent = readsofar * 1e2/totalsize
if percent >= 100:
percent = 100
s = "\r%5.1f%% %*d/%d" % (
percent, len(str(totalsize)), readsofar, totalsize)
self.time['text'] = 'Downloading File: '+self.fn+'' + s
if readsofar >= totalsize: # near the end
sys.stderr.write("\n")
else: # total size is unknown
sys.stderr.write("read %d\n" % (readsofar,))
#UPDATE PROGRESSBAR
self.pb.config(mode="determinate")
if percent > 0:
self.dl_p = round(percent,0)
self.pb['value'] = self.dl_p
self.pb.update()
if percent > 100:
self.pb['value'] = 0
self.pb.update()
urllib.request.urlretrieve(imgs, fileSavePath, reporthook)
Достойный вопрос, но есть что-то, что происходит с форматированием вашего кода. Можете ли вы удалить пробелы между backticks, пожалуйста? Более читаемый вопрос, скорее всего, приведет к большему количеству ответов. – ShellFish
Извините, новый на сайте. Надо привыкнуть к редактору. – rankind
Нет проблем, просто пытаюсь помочь. Но один из лучших первых вопросов, которые я видел в течение длительного времени, следовательно, другие люди, я даю вам upvotes :) Продолжайте работать! – ShellFish