PyPy
PyPy は Python 2.7.13 と 3.5.3 インタプリタの代替実装です。PyPy は速度やメモリ使用量、サンドボックスや並列性で優れています。CPython と互換性がありますが 多少の例外 もあります。また、PyPy を使うことで RPython プログラムを C コードにコンパイルすることも可能です。
目次
インストール
Python 2.7 の場合、pypy パッケージをインストールしてください。Python 3 の場合、pypy3 パッケージをインストールしてください。
PyPy は /opt/pypy/
や /opt/pypy3
にインストールされて pypy のメイン実行ファイルは /bin/pypy-c
になります。
使用方法
PyPy は pypy
や pypy3
コマンドで使用することができ CPython と同じように機能します。pypy
のオプションリストを表示するには次を実行:
$ pypy -h
対話型インタプリタ
pypy の対話型インタプリタをロードするには次を実行:
$ pypy
ファイルからプログラムを実行
pypy でファイルから Python プログラムを実行するには、次を実行:
$ pypy example.py
example.py
はプログラムのファイル名に置き換えてください。
仮想環境の作成
PyPy で仮想環境を作成するには:
$ virtualenv --python=/usr/bin/pypy venv-pypy
仮想環境について詳しくは Python/仮想環境を見てください。
pip のインストール
pypy 用の python パッケージは Arch のパッケージとして配布されていないため、必要なものをインストールするときは pip を使ってインストールするのが便利です:
$ pypy -m ensurepip --user $ pypy -m pip install --user --upgrade pip
pip をインストールしたら、以下のようにパッケージをインストールできます:
$ pypy -m pip install --user sqlalchemy
システム全体にパッケージをインストールしたい場合は --user
を付けずに root でコマンドを実行してください。インストールしたパッケージは /opt/pypy
に配置されるためパッケージマネージャは関与しません。
EasyInstall
Python のライブラリやプログラムは EasyInstall でインストールすることができます。PyPy のライブラリは CPython のライブラリとは別のフォルダに保存されます。
EasyInstall のインストール
EasyInstall は PyPy パッケージには付属していないため手動でインストールする必要があります。EasyInstall をインストールするのに必要な /opt/pypy/site-packages/
フォルダを作成:
# mkdir /opt/pypy/site-packages/
distribute_setup.py
を /opt/pypy/
フォルダにダウンロードして実行してください。distribute_setup.py
が EasyInstall をインストールします:
$ cd /opt/pypy/ # wget python-distribute.org/distribute_setup.py # pypy distribute_setup.py
EasyInstall は /opt/pypy/bin/easy_install
に保存されます。
EasyInstall パッケージのインストール
EasyInstall パッケージ package_name を PyPy にインストールするには次を実行:
# /opt/pypy/bin/easy_install package_name
パッケージは /opt/pypy/site-packages
に保存され、インストールされたライブラリやアプリケーションは /opt/pypy/bin
に保存されます。PyPy の EasyInstall でインストールしたプログラムは /opt/pypy/bin/program_name
で普通に実行できます (program_name は PyPy プログラムの名前に置き換えてください)。
EasyInstall パッケージの例
以下は Lamson メールフレームワークをインストールします:
# /opt/pypy/bin/easy_install lamson
以下はフレームワークの gen-project オプションを実行します:
$ /opt/pypy/bin/lamson gen -project testproject