はじめに
趣味の競技プログラミング用に IDE として Pycharm を愛用しています。
特にコード補完、ライブテンプレート、Vim エミュレーターが気に入っています。
今回は、ローカル環境でのコードテスト実行のために pypy を導入するにあたり、
やや手間取ったので手順を共有します。
実行環境
OS:Windows 10 Pro (64 bit)
Pycharm:2020.1 (Community edition)
手順 1: pypy インストールモジュールの入手
公式サイトから各環境におけるインストールモジュールを入手します。
https://www.pypy.org/download.html
本環境では以下を用いました。
Python 3.6 compatible PyPy3.6 v7.3.1 - Windows binary (32bit)
64bit OS ですが、現在のところ問題なく使用できています。
手順 2: Pycharm インタープリター設定
Pycharm を起動し、メニューバー > File > Setting から設定パネルを開きます。
Python Interpreter を選択後、画面右上の設定ボタン(歯車のようなアイコン)をクリックします。
Add Python Interpreter パネル上で System Interpreter を選択後、右上の三点リーダーアイコンをクリックし、先のインストールモジュールを展開したフォルダ内 pypy3.exe を選択します。
スケルトンファイルが自動作成され、pypy 環境が使用可能になります。
導入設定は以上です。
手順 3: インタープリターの変更
実行例
ABC 172 C Tsundoku, Case: b08.txt
https://atcoder.jp/contests/abc172/tasks/abc172_c
提出:https://atcoder.jp/contests/abc172/submissions/14791414
時間計測は以下を参考にしました。(sec → ms に変更しています。)
Pythonで処理の時間を計測する冴えた方法:
https://qiita.com/hisatoshi/items/7354c76a4412dffc4fd7
おわりに
筆者は計算量の見積もりすこぶる甘く、コンテスト中に Python で TLE したコードを見ながら、
「pypy に変えて出せばワンチャンあるか...?」
という悪い心に支配されることが、しばしばあります。
しかし実際はワンチャンありません。そもそもの実装が悪いのです。
手元でサッと試して諦めるために Pycharm への pypy 導入を試みましたが、
言及した日本語ドキュメントが見当たらなかったため投稿しました。
本稿が、どなたかのお役に立てば幸いです。