Как конвертировать .py в .exe со своей venv?

Есть небольшой код для работы с DB SQLite. Также в программе используется GUI Tkinter со своими темами. И при этом я работал через venv.

Как мне собрать в одно целое venv и сам код? То есть, я хочу при создании исполняемого файла использовать не просто версию python, а свою виртуальную среду. Как такое реализовать?


Ответы (2 шт):

Автор решения: cauf

Если запустить pyinstaller с ключами -D или -F, то при конвертации скрипта pyinstaller скопирует все нужные файлы для запуска программы, тем самым вы получите полностью готовую к работе на любом компьютере программу. Разница в ключах в том, что -D - собирает все необходимые файлы в папку с программой, в то время как -F собирает единый запускаемый файл, включающий внутри себя все необходимые пакеты, модули и компоненты.

Запускать так:

> pyinstaller -D myscript.py

или так:

> pyinstaller -F myscript.py
→ Ссылка
Автор решения: Максим Антонов

Для того, чтобы использовать виртуальную среду в качестве источника библиотек можно использовать параметр параметр --paths. Нужно ввести следующую команду со своими необходимыми параметрами:

pyinstaller --paths path\to\venv\Lib\site-packages file.py

Вот пример использования:

pyinstaller --noconfirm --onefile --console --paths ^
    "C:/Users/User/Desktop/Новая папка (2)/python librares/venv/Lib/site-packages" ^
    "C:/Users/User/Desktop/Новая папка (2)/python librares/main.py"
→ Ссылка