rcmdnk's blog
Last update

コクサイ 金属発火モデルガン コルトパイソン 357マグナム 6インチ No.359

MacではHomebrew で大概のものがインストール出来る様になって来ましたが、 Pythonのpipコマンドで手動で入れてるものがまだあったので それもHomebrewで管理できる様にしました。

入れたいもの

それ程入れてるものは無く、 現状pipで手動で入れてるものは asciinema だけです。

Vim内で使うPython補完のjediなんかは、 今の所Vimでしか使わないので jedi-vim のプラグイン内で(サブモジュールとして)インストールしてもらう 様にしています。

dev版jedi-vimのインストール - rcmdnk’s blog

brew-pip

で、pipをHomebrewからも使えないかな、と思っていたら brew-pip というものを見つけました。

オリジナルはjoshバージョン:

  • josh/brew-pip: https://github.com/josh/brew-pip

これが

ここでフォークされてさらに

にフォークされてます。 このhanxueバージョンのものがHomebrew内に brew-pip: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/brew-pip.rb の名前でFormulaが用意されています。

FormulaがHomebrew内にもともと入っているので、

$ brew install brew-pip

としてあげればbrew-pipがインストールされます。

インストール後、Pythonのモジュールが

$(brew --prefix)/lib/python2.7/site-packages

にインストールされるので、これをPYTHONPATHに指定しておく必要があります。

さらにbrew-pipでインストールすると、asciinemaコマンド等の実行ファイルは

$(brew --prefix)/share/python

にインストールされます。

これらを有効にするために

1
2
3
4
5
6
7
## For Homebrew python modules
if [ -d $(brew --prefix)/share/python ];then
  export PATH=$(brew --prefix)/share/python:$PATH
fi
if [ -d $(brew --prefix)/lib/python2.7/site-packages ];then
  export PYTHONPATH=$(brew --prefix)/lib/python2.7/site-packages:$PYTHONPAT
fi

こんな感じの設定を.bashrcに書いておくなりして 設定しておく必要があります。

brew-pipの使い方は、

$ brew pip asciinema

の様に、brewの後にpipコマンドを入れ、後はパッケージ名を入れるだけ。

brew-pipでは Homebrew-cask の様にFormulaとかを用意するのではなく、 通常のpipでインストール出来る物をそのままインストールできます。

brew pipでインストールすると、パッケージ名は pip-asciinema見たいにpip-を頭に付けた形で登録されます。

アンインストールするときはbrew pipは使わずに直接

$ brw uninstall pip-asciinema

とします。

brew-pipREADME.md を見ると pip-なしでそのままの名前でアンインストール出来る様になってますが 1、 それだとアンインストール出来ませんでした。 (書かれてるのが昔の仕様でREAMDEがアップデートされてないだけ?)

ただし、このbrew-pip自体がもう古いのか、 PATH$(brew –prefix)/share/pythonが入っていると brew doctorとかすると

$ brew doctor
Warning: /usr/local/share/python is not needed in PATH.
Formerly homebrew put Python scripts you installed via `pip` or `pip3`
(or `easy_install`) into that directory above but now it can be removed
from your PATH variable.
Python scripts will now install into /usr/local/bin.
You can delete anything, except 'Extras', from the /usr/local/share/python
(and /usr/local/share/python3) dir and install affected Python packages
anew with `pip install --upgrade`.
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

の様に、昔はそっちに入れてたけどい今は/usr/local/bin/に インストールされる様になった、との注意書きが出てきます。

なので、brew-pipは避けて他の方法を探したほうが良さ気。

asciinemaのFormula

Homebrewでasciinemaを探してみると

$ brew search asciinema
No formula found for "asciinema".
Searching pull requests...
Closed pull requests:
Include formula for asciinema (http://asciinema.org/) (https://github.com/Homebrew/homebrew/pull/26011)
asciinema 0.9.5 (https://github.com/Homebrew/homebrew/pull/23053)
$

と、Pullリクエストが出てきたので見てみると 下の所で途中まで作ろうとしているものが有ります。

Include formula for asciinema (http://asciinema.org/) by rogeriopradoj · Pull Request #26011 · Homebrew/homebrew

もともと、asciinema本家でもHomebrew用のFormulaを作っていて

asciinema/packaging/homebrew/asciinema.rb: https://github.com/sickill/asciinema/blob/master/packaging/homebrew/asciinema.rb

ここにあるのですが、これはv0.9.5用で、最新版はv0.9.8なんですが、 どうもv0.9.6からMakefileを書き換えた様で 上のFormulaにあるようなmake installが使えなくなっています。

そこで、上のPullリクエストの中では最初にmake installバージョンで v0.9.7用に作って動かない、と言っていて、 最後の方ではpython setup.py installを使ってインストールする物を作っています。

最後にはこれを見なおして改めて、って話で終わってますが今のところ 新しい動きは見えず。

ので、取り敢えず上のプルリクエスト中の物を参考に

こんな感じで作って

$ brew tap rcmdnk/rcmdnkpac
$ brew install asciinema

でインストール出来ました。

追記

現在はasciinemaのFormulaが元から入っているので上のtapをする必要はありません。 (逆に現在はrcmdnkpacにasciinemaのFormulaは入ってません。)

追記ここまで

上のFormulaを見ても分かる通り、setup.pyを使ったインストールならば 簡単に実装できるので、 他のPythonモジュールとかでもインストールにsetup.py を使ってインストールする様なものなら同じ様に作れると思います。

pipを使ったインストールでは無いですが、 割りとsetup.pyを用意してくれてるものは多いので 取り敢えずはこれで代用可能。

その他

HomebrewでPython周りを整える場合には色々と注意点があるので HomebrewのPythonページを参考に。

Homebrew and Python · Homebrew/homebrew Wiki

また、直接Homebrewは関係ないですが、 PythonのアップデートとともにVimが使えなくなることもあるので その際はVim自体の再インストールが必要になります。

Vimで’ImportError: No module named site’みたいなエラーが出るようになった

Sponsored Links
  1. READMEではrmつかってますがuninstallと一緒です。

Sponsored Links

« Bashでの[a-z]みたいな正規表現での大文字小文字について Mac(Mavericks)でのユーザーアイコンの変更方法 »

}