Страницы

Поиск по вопросам

среда, 22 января 2020 г.

“Портативное” PHP или Python/Django web приложение

#php #python #веб_программирование #django


Существует ли возможность сделать PHP или Python/Django приложение переносным т.е.
скопировать на флешку и запустить на другом компьютере?
Все выглядеть должно примерно так:


Само приложение написано на PHP или Python/Django, база данных SQLite
Интерпретатор и библиотеки НЕ устанавливается отдельно, а тянутся вместе с приложением
в архиве 
При клике на ярлык запуска приложения, запускается встроенный в Python или PHP http
сервер(есть в версиях >= 5.4) на свободном порту (например: 127.0.0.1:8080)
После запуска сервера, запускается web браузер и открывает главную страницу приложения
на адресе и порте которые использует web сервер (например: http://127.0.0.1:8080/)


Получится что-то вроде десктопного приложения, но только работать будет в браузере )
Я понимаю что это полное извращение, но есть обстоятельства которые не позволяют
сделать по другому (разве что пилить полноценное десктопное приложение, на которое
нет времени и бюджета)
    


Ответы

Ответ 1



Python версия. Два варианта, первый сделать самому, второе взять готовое но чуть более старое например, http://portablepython.com/. Про первый вариант подробнее. Python не тянет особых зависимостей, поэтому устанавливаем (берем со своего компьютера) python, полностью всю папку и закидываем на флешку. Далее в эту же папку ставим все модули и зависимые пакеты, в том числе и наше приложение на django. Пишем простой бат файл, который переходит в папку питона и запускает наш проект, примерно вот так cd python27 cd myproject usr\bin\python27.exe manage.py runserver 0.0.0.0:8123 Проверка занятых портов и прочее ложиться на уровень запускающего файла. PHP версия. Аналогично питону можно самому собрать нужное, можно взять готовый portable пакет, например http://www.usbwebserver.net/en/download.php Там все еще проще, в папку копируется сайт, сам сервер при необходимости запускается из папки. Значки запуска у большинства есть готовые.

Ответ 2



Если это будет Python то попробуй скомпилировать его с помощью cx_freeze или py2exe или же задействуй Cython и потом откомпилируй с помощью gcc. Все модули будут в одном exe файле, только вес будет очень большим. Но других вариантов я не знаю.

Комментариев нет:

Отправить комментарий