Сергей Переславцев
Ученик
(137)
2 года назад
FileNotFoundError: No file 'images/ship.bmp' found in working directory 'C:\Users\user\output'. Банально не может найти файл который ты использовал.
File "alien_invasion.py", line 278, in <module>
File "alien_invasion.py", line 32, in __init__
File "ship.py", line 17, in __init__ в этих строчках
Если ты указывал именно путь где лежит фотка то в этом и косяк
Сергей ПереславцевУченик (137)
2 года назад
Если ты скомпилировал чисто PY файл, то в этом и проблема т.к он не понимает откуда теперь брать эти файлы
Решение этой проблемы
1. Создать отдельную директорию со всеми файлами игры откуда твой код будет брать необходимые файлы для его работы
2. Прописать путь до этих файлов откуда ему их брать.
Саня Литвинский
Профи
(996)
2 года назад
Привет! Ваша ошибка связана с тем, что при создании exe-файла Pyinstaller не добавил к нему папку с изображениями для игры. Это произошло потому, что Pyinstaller не учитывает все зависимости и файлы, используемые в вашей программе, если они находятся в других папках.
Есть несколько вариантов решения этой проблемы. Вот некоторые из них:
Указать пути к файлам и папкам явно. Для этого вам нужно изменить код, чтобы он искал файлы в определенном месте. Например, если вы знаете, что изображения находятся в папке "images" в той же папке, что и ваш скрипт, то вы можете использовать относительный путь к этой папке:
import os
base_path = os.path.abspath(os.path.dirname(__file__))
image_path = os.path.join(base_path, 'images')
Затем вы можете использовать переменную image_path вместо жестко закодированных путей к файлам.
Включить все файлы и папки в exe-файл. Для этого вам нужно добавить опции Pyinstaller, чтобы он включил все файлы и папки, используемые вашей программой. Например, вы можете использовать следующие опции:
pyinstaller --onefile --add-data "images;images" alien_invasion.py
Это добавит папку "images" в корень вашего exe-файла.
Использовать другой инструмент для создания exe-файлов. Существуют и другие инструменты, которые могут помочь вам создать exe-файл из вашего скрипта на Python. Например, cx_Freeze, py2exe, PyOxidizer и другие. Каждый из них имеет свои особенности и преимущества, поэтому вам придется выбрать тот, который наиболее подходит для вашего случая.
Надеюсь, что это поможет вам решить вашу проблему!
Я создал свою игру из книги, она называется Alien Invasion. Написал я эту игру на языке программирования python. Я работал в программе PyCharm, в этой программе все работало и игра запускалась, а когда хотел создать exe файл, то происходила ошибка. Сначала я использовал Pyinstaller, я писал в терминал:
pip install pyinstaller
cd "Пусть файла" (указал все верно)
pyinstaller alien_invasion.py (с флагом -F тоже пробовал)
но как в видео на ютубе, должна появится папка dist и в ней должен быть мой файл или же папка со всеми файлами для запуска игры.
Также пробовал auto-py-to-exe
pip install auto-py-to-exe
auto-py-to-exe
указал как надо создать файл, с терминалом или без и тд
файл у меня создался в папке вывода, после того как я открыл файл, то у меня вылезла ошибка:
Traceback (most recent call last):
File "alien_invasion.py", line 278, in <module>
File "alien_invasion.py", line 32, in __init__
File "ship.py", line 17, in __init__
FileNotFoundError: No file 'images/ship.bmp' found in working directory 'C:\Users\user\output'.
хотя сама игра в PyCharm и SublimeText3 запускалась без ошибок.
Пожалуйста помогите мне, скажите способы как создать exe файл без Pyinstaller и auto-py-to-exe, или же как решить данную ошибку.
ЗАРАНЕЕ СПАСИБО!!!