Почему эта функция вызывает ошибку 13?Python

Программы на Python
Ответить
Anonymous
 Почему эта функция вызывает ошибку 13?

Сообщение Anonymous »

Я работаю над проектом на Python, где программа при запуске проверяет наличие обновлений в репозитории GitHub, что она делает отлично. Проблема возникает, когда я пытаюсь загрузить указанное обновление, оно вызывает [Errno 13] Разрешение отклонено и не может заменить exe-файл. Вот функция:
def download_update(latest_version, asset_name):
try:
download_url = GITHUB_DOWNLOAD_URL.format(tag=latest_version, asset_name=asset_name)
response = requests.get(download_url, stream=True)
response.raise_for_status()

update_file_path = os.path.join(os.path.dirname(sys.executable), asset_name)

with open(update_file_path, "wb") as update_file:
shutil.copyfileobj(response.raw, update_file)

# Sostituzione dell'eseguibile corrente
current_executable = sys.executable
os.replace(update_file_path, current_executable)
CURRENT_VERSION=latest_version
messagebox.showinfo("Aggiornamento completato", "L'aggiornamento è stato installato con successo. Riavvia l'applicazione.")
update_available=False
sys.exit(0) # Chiude l'applicazione corrente

except Exception as e:
print(f"Errore durante il download dell'aggiornamento: {e}")
messagebox.showerror("Errore di aggiornamento", "Si è verificato un errore durante il download dell'aggiornamento.")


Подробнее здесь: https://stackoverflow.com/questions/791 ... er-errno13
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»