【AtCoder】CLIテストの環境構築
はじめに
こんにちは、Takeです。都内の自社開発企業でエンジニアとして働いています。
今回は、AtCoder CLI(atcoder-cli)と関連ツールのインストールおよび設定方法を解説します。以下の手順に従って、Pythonの環境を構築しました。(実際にはこんなスムーズに出来ていないです)
必要なツールのインストール
Node.jsとnpmのインストール
まず、Node.jsとnpmをインストールします。Node.jsのインストール方法は公式サイトを参考にしました。インストール後、NPMの設定を確認します。
$ npm config get prefix
/Users/username/.nodenv/versions/18.16.0
AtCoder CLIのインストール
次に、AtCoder CLIをグローバルインストールします。
$ npm install -g atcoder-cli
PATHの設定
インストールしたCLIツールを使用するために、PATHを設定します。
$ echo 'export PATH=$PATH:/Users/username/.nodenv/versions/18.16.0/bin' >> ~/.zshrc
$ source ~/.zshrc
AtCoder CLIの確認
AtCoder CLIが正しくインストールされたか確認します。
$ which acc
/Users/username/.nodenv/shims/acc
Pythonスクリプトの設定
ディレクトリの作成
AtCoder CLI用のPythonスクリプトディレクトリを作成します。
$ mkdir -p /Users/username/Library/Preferences/atcoder-cli-nodejs/python
テンプレートスクリプトの作成
以下の内容でテンプレートスクリプトを作成します。
$ echo 'print("Hello, AtCoder")' > /Users/username/Library/Preferences/atcoder-cli-nodejs/python/main.py
テンプレート設定ファイルの作成
以下の内容でテンプレート設定ファイルを作成します。
$ echo '{
"task": {
"program": [
"main.py"
],
"submit": "main.py"
}
}' > /Users/username/Library/Preferences/atcoder-cli-nodejs/python/template.json
AtCoder CLIの設定ファイルの作成
必要に応じてconfig.jsonを編集します。以下の内容を追加しました。
$ nano /Users/username/Library/Preferences/atcoder-cli-nodejs/config.json
json
{
"oj-path": "/Users/username/Library/Python/3.9/bin/oj",
"default-contest-dirname-format": "{ContestID}",
"default-task-dirname-format": "{tasklabel}",
"default-test-dirname-format": "test",
"default-task-choice": "all",
"default-template": "python",
"template": "python",
"default-language": "5055"
}
Python依存パッケージのインストール
パッケージのインストール
AtCoder CLIで必要なPythonパッケージをインストールします。
$ pip install requests charset_normalizer chardet lxml beautifulsoup4
パッケージの再インストール
必要に応じてパッケージを再インストールします。
$ pip uninstall lxml beautifulsoup4
$ pip install lxml beautifulsoup4
AtCoder CLIの利用
AtCoder CLIにログイン
AtCoderにログインします。
$ acc login
コンテストの新規プロジェクト作成
AtCoder CLIを使用して新しいコンテストプロジェクトを作成します。
$ acc new abc101
エラー対処法
chardetモジュールが見つからないエラー
$ pip install chardet
lxmlパーサが見つからないエラー
$ pip install lxml
BeautifulSoupのエラー
$ pip install --force-reinstall beautifulsoup4
ojコマンドでのログイン
オンラインジャッジツールでAtCoderにログインします。
$ oj login https://atcoder.jp/
$ export PYTHONWARNINGS="ignore::urllib3.exceptions.NotOpenSSLWarning"
oj loginコマンドでのエラーは、再度ログインを試みるか、依存関係が正しくインストールされているか確認してください。
これでAtCoder CLIのテスト環境構築は完了です。次回は、これらのテストなどを実行するコマンドについて記載する予定です。
参考
最後に
ここまで読んでいただきありがとうございました!
今回の記事が良かったと思ったらぜひ「いいね」を押していただけると嬉しいです 🎉
noteでも記事を執筆していますので、ぜひチェックしてみてください。
他にもこのようなことについて記載しているのでお読みいただければ幸いです。
最後までお読みいただき、誠にありがとうございました!
Discussion