Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tos-kamiya/9ba8f26885fb459b704b to your computer and use it in GitHub Desktop.
Save tos-kamiya/9ba8f26885fb459b704b to your computer and use it in GitHub Desktop.
pipをPypyから利用できるようにするよ!

追記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コマンドとしてはpip2pip3を利用することができます。そのような環境では、以下の説明のコマンドライン中のpipとある部分をpip2pip3に読み替えたものも同様に確認してください。


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:スクリプトのディレクトリ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment