Web で簡単プログラミングチャレンジ に参加していただき、ありがとうございます!
提出していただいたコードは、Docker による隔離環境で実行され自動的に採点されます。 このリポジトリには、隔離環境を作成するための Docker の設定ファイル (Dockerfile) が含まれています。 (実際の自動採点システムでは、このリポジトリに含まれる Dockerfile に少し変更を加えています。) 以下の手順に従えば、実際の採点環境とほとんど同じ環境でコードが実行できます。 ぜひデバッグに役立ててください。
例題 をもとに説明します。
あらかじめ、プログラム predict.py
を作成しておきます
$ cat predict.py
'''
A, B及びansはint型
'''
def pred(A, B):
## ここにansを求める処理を追記
ans = A + B
return ans
# デバッグ用に pred を呼び出します
print(pred(1, 1))
print(pred(-5, 0))
次のコマンドを実行して、隔離環境でコードを実行します
$ docker run -v $PWD:/root -w /root keioaic/web-challenge-environment:cuda10.0-python3.7 python3 predict.py
-v $PWD:/root
: 作業ディレクトリ(ここでは predict.py があるディレクトリ)を、コンテナ内の /root
にコピーします。
-w /root
: コンテナ内の作業ディレクトリを /root
に設定します。
keioaic/web-challenge-environment:cuda10.0-python3.7
: 実行環境を設定します。
python3 predict.py
: コンテナ内で実行するコマンドを設定します。
以下の 3 つの Docker イメージが利用できます
- keioaic/web-challenge-environment:cuda10.0-python3.7
- GPU ライブラリと Python 実行環境が含まれます
- 現在、すべての問題はこちらをベースとした環境で実行されます
- keioaic/web-challenge-environment:cuda10.0
- GPU ライブラリのみが含まれます
- keioaic/web-challenge-environment:python3.7
- Python 実行環境のみが含まれます
Docker は コンテナ と呼ばれる軽量な仮想環境を作成・実行できるツールです。
例えば、こちらの記事が参考になるでしょう:
Docker入門(第一回)~Dockerとは何か、何が良いのか~ | さくらのナレッジ
https://knowledge.sakura.ad.jp/13265/
公式サイトの手順に従ってください
Get Docker | Docker Documentation
https://docs.docker.com/get-docker/
または、日本語訳があります
Docker の入手 - Docker-docs-ja 19.03 ドキュメント
https://docs.docker.jp/get-docker.html
Windows 10 Home をお使いの場合、 Docker Desktop for Windows を利用するのは難しい場合があります。 Docker Toolbox の利用も検討してください:
Install Docker Toolbox on Windows | Docker Documentation
https://docs.docker.com/toolbox/toolbox_install_windows/
Issue や Pull Request をお待ちしています。
また、一緒に働ける方を随時募集しています。 現在募集中の業務については、こちらをご覧ください: