1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/diyanqi07-TastickOJ

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ТастикоОуДжей: лёгкий OJ на основе Python — новый интерфейс подарит вам уникальные ощущения!

~~~

Маленький голос шепчет: разработка для школьников, которые потратили более 100 часов, была непростой!~~~

[StarIt!]

Инструкция по установке на Linux-Ubuntu

Видеоинструкция: https://www.bilibili.com/video/bv1vp4y1q7ce

Здесь также объясняется, почему трудно использовать порт 80. (Можно использовать переадресацию портов nginx.) В качестве примера возьмём Ubuntu 20.04 LTS (WSL).

  1. Сначала вам нужно сменить источник в вашей стране, чтобы обеспечить надёжность загрузки данных в будущем. — Смените источник apt-get. Вы можете найти инструкции в интернете, так как разные системы могут иметь разные операции.

  2. Проверьте, установлены ли уже 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:
  1. Клонируйте репозиторий кода TastickOJ с помощью git. Выполните команду:
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». Имя пользователя и имя компьютера могут отличаться в зависимости от устройства.

  1. Подготовка среды и запуск. Вы установили python, проверьте, работает ли pip нормально. Введите следующую команду:
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

На этом этапе есть два случая, мы объясним их вам отдельно.

  1. Ошибка, последняя строка показывает:
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 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Расширить Свернуть
MPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/diyanqi07-TastickOJ.git
git@gitlife.ru:oschina-mirror/diyanqi07-TastickOJ.git
oschina-mirror
diyanqi07-TastickOJ
diyanqi07-TastickOJ
master