Help us understand the problem. What is going on with this article?

FabricのPython3への対応について

More than 1 year has passed since last update.

概要

FabricがいつまでもPython3に対応していないので、どうにかしてPython3で使えないか調べた結果をまとめました。

  • Python3への対応状況
  • GitHub上での議論
  • Fabric3フォークの利用

[追記]

久々に見たら、2018年5月10日、遂に Fabric 2.0 がリリースされ、 Python 3.4 以降で使えるようになりました!

http://docs.fabfile.org/en/2.0/upgrading.html

[/追記]

結論

Fabric3というフォークがあるので、Python3を使いたい人はそちらを使えば良いとのことです。

virtualenv -p python3 env
source env/bin/activate
pip3 install fabric3

Fabricについて

FabricはPython製の自動化ツールです。

Fabric自体についての説明は、こちらの記事が非常に参考になりました。ありがとうございます。

http://qiita.com/greenspa/items/fff535d2ae5da36e36fe

まだの方はぜひご覧下さい。

Python3への対応状況

非常に便利なFabricですが、Python3には対応していません(2016年6月5日現在)。

初めて触ったPythonがPython3だったゆとり世代の自分としては、非常に残念です。

私のような人はたくさんいるようで、GitHubでPython3関連のIssueが16個もあります。

主要なコミッターであるbitprophetさんもPython3への対応の要望にうんざりしているようで、Python3関連のIssueが立つ度に

Please see the roadmap - http://www.fabfile.org/roadmap.html - alpha for v2 out soon (really).

とコメントしてIssueをロックしています。

例えばこちらのIssueでは、

「Python3で動作するように貢献したいんだけどどうすればいいの?」という質問に対して

「ロードマップ見て、すぐバージョン2が来るから」と回答、その後別の方から

「全部のIssue見たけどさ、ずっと同じこと言ってるじゃん。オープンソースなんだから、もっと他の人に作業してもらえば?」

というコメントがついていました。まあ、その後無言でロックされているわけですが。

フォークFabric3を利用する

そのような状況の中で、Fabric3というフォークを作った方がいらっしゃいました。

こちらのIssueで、パッチの取り込みが提案されています。

「まだPython2.5を切るわけにはいかない」という理由で、ロックされていますが、「Python3で使いたいんだけど」という人に対してはこちらのフォークが推奨されているようです。

インストールはpip3 install fabric3とするだけです。

デメリット

Fabricで冪等性を確保するプラグインCuisineがPython3をサポートしていないので、利用できません。

「FabricがPython3に対応したら、Cuisineも対応しよう」という提案がされているようです。

Cuisineが使えないのはちょっと残念ですが、Fabric3自体は全てのテストを通っており、通常使う分には問題無さそうです。

ちょっと業務で利用してみて、問題があれば追記しようと思います。

acro5piano
React.js / TypeScript / DevOps エンジニア。 Fastlane のコントリビューター。 Terraform と Ansible のファン。 ご相談は気軽に Remotehour から → https://remotehour.com/kay/quick
https://remotehour.com/kay/quick
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした