Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 3.9 KB

BUILD.md

File metadata and controls

74 lines (54 loc) · 3.9 KB

Сборка revealer

Сборка под Windows

Для выпуска релиза в Windows нужно выполнить скрипт release.bat из папки scripts:

release.bat

Обратите внимание: для корректного запуска собранного приложения на Windows 7 без установленного python релиз необходимо собирать на компьютере с Windows 7. Иначе будут ошибки с отсутствием исходных библиотек (python36.dll, api-ms-win-crt-runtime-l1-1-0.dll).

Сборка под Linux

Для выпуска релиза в Linux нужно выполнить скрипт release.sh из папки scripts:

Обратите внимание, что для запуска скрипта в Linux могут потребоваться дополнительные действия:

  • Добавьте release.sh права на запуск:
chmod +x ./release.sh
  • Установите версию python3 c встроенным модулем tkinter:
sudo apt-get install python3-tk
  • Установите версию python3 с поддержкой виртуальных кружений:
sudo apt-get install python3-venv
  • Установите стандартную библиотеку idle:
sudo apt-get install idle3
  • Запустите скрипт сборки:
bash release.sh

Сборка под macOS

Для выпуска релиза в MacOS нужно выполнить скрипт release_macos.sh из папки scripts:

sudo ./release_macos.sh

Обратите внимание, что для запуска скрипта в MacOS могут потребоваться дополнительные действия:

  • Установите версию python3 c встроенным модулем tkinter (для mac OS tkinter поддерживается в версии python3.9 и старше):
brew install python-tk@3.9
  • Сборка приложения на macOS (папка с расширением .app, а не просто испольняемый файл) делается с помощью модуля py2app, который явным образом не добавляет библиотеку tkinter в библиотеку собранного приложения. Чтобы запуск приложения был возможен на всех системах, а не только там, где установлен python с tkinter, исходные файлы библиотеки явным образом копируются в виртуальное окружение в release_macos.sh с помощью команд:
cp -R /Library/Frameworks/Python.framework/Versions/3.9/lib/tcl8.6/ venv/lib/tcl8.6
cp -R /Library/Frameworks/Python.framework/Versions/3.9/lib/tcl8/ venv/lib/tcl8
cp -R /Library/Frameworks/Python.framework/Versions/3.9/lib/tk8.6/ venv/lib/tk8.6

Если на машине, где вы собираете приложение путь до библиотеки tkinter иной, то его нужно заменить. Чтобы его узнать запустите python3 из терминала и введите:

import tkinter
root = tkinter.Tk()  # the window will show up - close it
print(root.tk.exprstring('$tcl_library'))   # replace /Library/Frameworks/Python.framework/Versions/3.9/lib/tcl8.6/ with this path
print(root.tk.exprstring('$tk_library'))  # replace /Library/Frameworks/Python.framework/Versions/3.9/lib/tk8.6/ venv/lib/tk8.6 with this path

А также поменяйте путь к /tcl8/ с аналогичным началом (/Library/Frameworks/Python.framework/Versions/3.9/lib/), как те, что выведет вам print выше.