ТастикоОуДжей: лёгкий OJ на основе Python — новый интерфейс подарит вам уникальные ощущения!
~~~
Маленький голос шепчет: разработка для школьников, которые потратили более 100 часов, была непростой!~~~
[StarIt!]
Здесь также объясняется, почему трудно использовать порт 80. (Можно использовать переадресацию портов nginx.) В качестве примера возьмём Ubuntu 20.04 LTS (WSL).
Сначала вам нужно сменить источник в вашей стране, чтобы обеспечить надёжность загрузки данных в будущем. — Смените источник apt-get. Вы можете найти инструкции в интернете, так как разные системы могут иметь разные операции.
Проверьте, установлены ли уже g++, python3 и git. — Введите следующую команду в терминале:
g++
— Посмотрите на вывод терминала. Если вы видите:
g++: fatal error: no input files
compilation terminated.
Это означает, что установлен компилятор g++. В противном случае найдите его самостоятельно. — Затем введите следующую команду:
python3
— Обратите внимание, есть ли информация, подобная следующей:
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
TIP: Вы можете нажать CTRL+D, чтобы выйти из этого интерактивного интерфейса и вернуться в bash.
Если есть такая информация, это означает, что она установлена, в противном случае найдите её самостоятельно.
Ваша версия python может быть не 3.8.2, но убедитесь, что версия python не ниже 3.7+, версия 3.6 может вызвать неизвестные ошибки.
Проверьте, установлен ли GIT.
Запустите следующую команду:
git
Посмотрите, появится ли куча информации, например (скопирована только часть):
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
These are common Git commands used in various situations:
git clone https://github.com/diyanqi/TastickOJ/
Возможно, вам придётся подождать около минуты (самое медленное время), потому что сервер GitHub находится за границей, и скорость будет немного медленной. Но по сравнению с другими громоздкими проектами эта скорость уже очень быстрая. Через некоторое время (примерно через 30 секунд) вы увидите следующую информацию (она меняется во время процесса загрузки, но после завершения она фиксирована):
Cloning into 'TastickOJ'...
remote: Enumerating objects: 101, done.
remote: Counting objects: 100% (101/101), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 101 (delta 16), reused 92 (delta 13), pack-reused 0
Receiving objects: 100% (101/101), 345.11 KiB | 22.00 KiB/s, done.
Resolving deltas: 100% (16/16), done.
Теперь TastickOJ загружен в ваш текущий каталог. Не переходите в другие каталоги, просто выполните следующую команду:
cd TastickOJ
Ваш префикс команды теперь выглядит следующим образом:
пользователь@компьютер:~/TastickOJ$
Если вы загрузили каталог не ~/, этот каталог может измениться, но вы должны убедиться, что последним / после него является «TastickOJ». Имя пользователя и имя компьютера могут отличаться в зависимости от устройства.
pip3
Вы можете увидеть:
Command 'pip3' not found, but can be installed with:
sudo apt install python3-pip
Затем выполните:
sudo apt install python3-pip
Во время этого процесса вам может потребоваться ввести пароль. Когда появится запрос «Вы хотите продолжить? [Y/n]», нажмите Enter, чтобы продолжить. Дождитесь установки pip3. Если установка не удалась, например, появляется следующая информация:
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?
Попробуйте выполнить:
sudo apt-get install python3-pip --fix-missing
Или
sudo apt-get upgrade
Подождите, пока процесс завершится, затем выполните следующую команду, чтобы проверить, успешно ли он установлен:
pip3
Успех покажет большую часть данных:
Usage:
pip3 <command> [options]
Commands:
install Install packages.
download Download packages.
Пропущено N строк. После подтверждения успешной установки выполните следующие команды одну за другой:
pip3 install timeout_decorator -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install flask -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install flask_cors -i https://pypi.tuna.tsinghua.edu.cn/simple
TIP: Это pip3, а не pip, потому что это Linux, а не Windows. После завершения установки введите следующую команду:
python3 main.py
На этом этапе есть два случая, мы объясним их вам отдельно.
ModuleNotFoundError: No module named 'XXXXX'
Где XXXXX — это имя. Решение: Выполните следующую команду:
pip3 install XXXXX -i https://pypi.tuna.tsinghua.edu.cn/simple
Например, если возникает ошибка ModuleNotFoundError: No module named ‘timeout_decorator’, вам необходимо выполнить команду:
pip3 install timeout_decorator -i https://pypi.tuna.tsinghua.edu.cn/simple
Вам может понадобиться вручную выполнить вышеуказанную команду несколько раз, пока она не заработает. 2. Успешный запуск, показывающий:
* Serving Flask app "main" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 334-787-378
Поздравляем! Установка прошла успешно! Вы можете получить доступ к ней в той же локальной сети, используя браузер и вводя IP-адрес хоста +:8080! Например, если IP-адрес вашего хоста равен 192.168.9.11, просто перейдите по адресу http://192.168.9.11:8080/. Чтобы узнать IP-адрес хоста, вы можете выполнить следующую команду:
ifconfig
Среди большого количества информации вы можете найти что-то вроде
inet 192.168.9.11
Последовательно попробуйте все IP-адреса +:8080 в порту. Один из них должен работать.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )