追記2018-05-20
Ubuntu 18.04のpypy3からpipを利用する手順を以下に公開しました。
https://gist.github.com/tos-kamiya/5b5cfd01e9d74984c3634542b0a48799
参考 http://pypy.readthedocs.org/en/latest/install.html
python3対応について
CPython2とCPython3が両方ともインストールしてある環境だと、pipコマンドとしてはpip2
やpip3
を利用することができます。そのような環境では、以下の説明のコマンドライン中のpip
とある部分をpip2
やpip3
に読み替えたものも同様に確認してください。
pypy用にpipをインストールすると、CPython用のpipコマンドがCPythonのpipコマンドが使えなくなった(pypyのpipコマンドに置き換えられてしまう。
解決策 手作業でpypy用のpipを削除する。
手順:
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo pypy get-pip.py
この状態でwhich pip
として/usr/local/bin/pip
(つまりpypyのpip)と表示されるときは、/usr/local/bin/pip
を削除してから、ターミナルを再起動する。
which pip
として/usr/bin/pip
(つまりCPythonのpip)と表示されればOK。
あとは、普通のCPythonからpipを利用したいとき:
$ sudo pip install ....
または
$ sudo pyton -m pip install ....
pypyからpipを利用したいとき:
$ sudo pypy -m pip install ....
ホームディレクトリの下にpypyをインストールしたい。あるいは、ホームの下にインストールしたpypyからpipを使いたい。
解決: pipスクリプトではなくモジュールを使う/パスの設定をする
手順:
pypyをapt install
でインストールせず、pypy.orgからバイナリをダウンロードするなどして、
pypyがホームの下(例えば~/bin
)に置いてある場合には、sudoを使わずにpipをインストールすることになる。
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ pypy get-pip.py
この場合は、/usr/bin/pip
は置き換えられないし、pypyからpipを利用する際にもsudoを使わず、ホームの下にインストールする。
$ pypy -m pip install ....
モジュールに含まれるスクリプトは、pypyのディレクトリの下のどこかのbin
ディレクトリに置かれるので、PATHに加えておく。
$ pypy -m pip install ほげほげ
$ sudo updatedb
$ locate ほげほげに含まれるスクリプト
locateで特定されたディレクトリを、~/.bashrc
に設定するなどして、PATHに加える。
export PATH=$PATH:スクリプトのディレクトリ