Как создать один исполняемый файл (exe) из двух файлов python?

Как настроить запуск только одного файла Python из двух имеющихся?
  • 19 января 2024 г. 6:18
Ответы на вопрос 3
Для создания одного исполняемого файла (exe) из двух файлов Python, можно использовать инструменты, такие как `PyInstaller`, `cx_Freeze`, `py2exe`, и другие. Однако, обычно один исполняемый файл создаётся из одного входного скрипта Python. Если вы хотите объединить два скрипта в один исполняемый файл, вам сначала потребуется создать входную точку (entry point), которая будет управлять запуском соответствующей функциональности из каждого файла.

Вот как вы можете это сделать:

1. Создайте главный файл Python, который будет служить входной точкой. В этом файле вы можете импортировать функции или классы из других файлов и запускать их в зависимости от условий или аргументов командной строки.

Например, если у вас есть два файла `script1.py` и `script2.py`, создайте `main.py`:

```python
# main.py
import script1
import script2

def main():
    # здесь можно добавить логику для определения, какой скрипт запустить,
    # например, основываясь на аргументах командной строки
    script1.run()
    # или запуск скрипта script2 по условию
    # script2.run()

if __name__ == "__main__":
    main()
```

2. Убедитесь, что функции в `script1.py` и `script2.py` оформлены так, чтобы их можно было вызвать. То есть должны быть функции `run()` или любые другие, которые вы хотите вызвать из `main.py`.

3. Теперь, используя PyInstaller или любой другой инструмент, вы можете создать исполняемый файл из `main.py`. Установите PyInstaller, если он ещё не установлен:

```sh
pip install pyinstaller
```

4. Запустите PyInstaller для создания exe:

```sh
pyinstaller --onefile main.py
```

Эта команда создаст в папке `dist` один исполняемый файл `main.exe`, который будет запускать вашу входную точку и тем самым ваши два скрипта Python в зависимости от реализованной логики.

Помните, что все необходимые зависимости и файлы, которые используются вашими скриптами, также должны быть включены и доступны исполняемому файлу. PyInstaller обычно умеет находить и упаковывать все необходимые зависимости автоматически, но в некоторых случаях вам может потребоваться вручную указать дополнительные файлы или модули.
упакуй код каждого из файлов в функции и добавь ещё код, который будет выбирать, какую функцию надо запустить.
Сделайте из этих двух файлов две процедуры, да запускайте в зависимости от условий либо одну, либо другую... 

Похожие вопросы