Cygwin で Fabric (1)

Fabric を試したいと思って、vagrant を始め出したり、複数台の仮想マシンを立てたりしたのですが、 なんだか Windows でも Fabric インストールできてリモートホスト扱えるし、Cygwin にもやや苦戦は したもののインストールに成功した。 そこまでにつっかえたポイントがいくつかあったので、残しておこうと思って記録します。

参考

Windows に Fabric

  • 参考 1. の通りに入れてみた。

    • Python 2.7.5 はセットアップ済みだった。
    • setuptools 2.0.2 をインストール。
      • Windows のところにある ez_setup.py を、python.exe と同階層にダウンロードして置き、 python ez_setup.py で実行
    • easy_install で pip をインストール。
      • Scripts ディレクトリに easy_install.exe がなんだかあったので、easy_install pip を試しに実行
    • pip で fabric をインストール。
      • Scripts ディレクトリにこれまた pip.exe があったので、pip install fabric を試しに実行
  • インストールできたみたい。。

    • fab –version
      • Fabric 1.8.1
    • 簡単に作成したサンプル的な fabfile.py も期待動作
      • コンソールの文字化けがちょっと気に入らなかった。。

Cygwin に Fabric

  • 前提

    • CygwinPython 2.7.5 はセットアップ済み。
    • 環境変数 PYTHONPATH 設定済み。カレントディレクトリに関係なく python -V でバージョン確認可能。
  • 参考 2. に書いてある setuptools-0.6c11-py2.7.egg が見つからない

    • wget も 「証明書がない」的に弾かれ。
    • --no-check-certificate をつけてダウンロードには成功したが、sudo sh setuptools-0.6c11-py2.7.egg が完了できず。
      • だいたい、Cygwin に sudo はない。(いらない)
      • sh setuptools-0.6c11-py2.7.egg → 途中で弾かれた。(どこだったかは覚えていない)
  • うろうろと情報をあさっていたら、参考 3. を発見。

    • Cygwin セットアップし直し。。
      • あれ? 64 bit 版って、あったっけ?・・・
      • 迷ったが、根拠なく 32 bit 版 の setup.exe を取得し、実行。
      • 「Select the following packages:」に書いてあった7つを選択し、セットアップ完了を待つ。
    • OS再起動を覚悟したが、要求されなかった。
      • easy_install pip は成功した感じ。
      • pip install fabric で、なにやらコケている。バージョンが確認できないので、何かが失敗と判断。
$ pip install fabric
Requirement already satisfied (use --upgrade to upgrade): fabric in /usr/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.10.0 in /usr/lib/python2.7/site-packages (from fabric)
Requirement already satisfied (use --upgrade to upgrade): pycrypto>=2.1,!=2.4 in /usr/lib/python2.7/site-packages (from paramiko>=1.10.0->fabric)
Requirement already satisfied (use --upgrade to upgrade): ecdsa in /usr/lib/python2.7/site-packages (from paramiko>=1.10.0->fabric)
Cleaning up...
$ fab -version
-bash: fab: コマンドが見つかりません
  • ここで情報を確かめる。すると、参考 4. を発見。
    • upgrade を避け、uninstall → install
$ pip uninstall fabric

$ pip uninstall paramiko

$ pip uninstall pycrypto

$ pip uninstall ecdsa


$ pip install ecdsa

$ pip install pycrypto

$ pip install paramiko
Requirement already satisfied (use --upgrade to upgrade): paramiko in /usr/lib/python2.7/site-packages
Cleaning up...

$ pip install fabric
  • バージョン確認。
    • 成功。fabfile.py も期待動作。
$ fab --version
Fabric 1.8.1
Paramiko 1.12.0

おまけ