После долгих экспериментов у меня есть пример работы.Это небольшой пример сценария, который загружает изображение и отображает его - единственная сложная часть, где он решает, будет ли он запущен из пакета или в режиме реального времени.
#!/usr/local/bin/python3
from PIL import Image
import sys, os
filename = "image.png"
# Work out where the image file is
if getattr( sys, 'frozen', False ) :
# running in a bundle
path = os.path.join(sys._MEIPASS, filename)
else :
# running live
path = filename
im = Image.open(path)
im.show()
Затем я собираю его в один файлс PyInstaller следующим образом:
pyinstaller --add-data "image.png:." --onefile test.py
, который создает каталог с именем dist
, и там вы найдете один файл с именем test
, который можно запустить на других машинах ста же ОС, но без установленного Python.