ファブリック( http://docs.fabfile.org/en/1.7/ )サポートPython 3まだ。 Python 3 Wall of Superpowers まだありません。Django 1.5 with Python 3。
Current Answer @ miso.belicaによってすでに行われている
pip install -U "fabric>2.0.0"
古い回答(2013年現在)
ドキュメントから:
現在、すべてのドキュメントはPython 2.5ユーザーを念頭に置いて書かれていますが、最終的にはPython 3.x互換性に注意してください
または、より具体的に:
最終的なPython 3.x互換性
ファブリックに対するPython3のサポートは少し厄介で、別のオープンソースライブラリに依存しているようです。paramiko
はpython3と互換性があります。現在のところ、マスターバージョンはpython 3。
Pipから取得するのではなく、いじって、その上にファブリックインスタンスを構築する価値があるかもしれません。
Fabric という名前のFabricのPython3ポートがあり、Python 2.7および3.4+(Python <2.7 )。私はそれを代わりとしてしばらく使用し、それは私のために問題なく動作します。
pip3 install fabric3
すでに公式になっているようです Python 3.4 + のサポート)==と推測します 推奨されるべきです互換性のない変更 。したがって、理想的な世界では、誰もこの問題を抱えるべきではありません:)
pip3 install -U fabric
ファブリック専用のpython2.7 virtualenvを作成することもできます。
Sudo virtualenv --no-site-packages -p /usr/bin/python fabric-env
source /var/www/APPNAME/fabric-env/bin/activate
Sudo /var/www/APPNAME/fabric-env/bin/pip install fabric
deactivate
次に:
/var/www/APPNAME/fabric-env/bin/fab -f /var/www/APPNAME/fabfile.py FAB_COMMAND
Fabricは書き直されて、Fabric 2.0はpython 3.xと互換性があるようです。 Fabric 2.0リポジトリまたはブランチなので、完全に確認するのは困難です。
この日までに、「fabric 2」はpython 3+。
「fabric 3」は非公式のフォークです。
https://pypi.org/project/Fabric/ から「fabric 2」をインストールするには:
pip install Fabric
実際にFabric
をPython 3.で動作させることができます。私はそれを this Gist で確認できます。
上記のコメントで、@ rneviusはinvokeがFabric 1.xの後継として意図されていることを示唆していますが、それは完全に正しいわけではありません。呼び出しドキュメントから:
したがって、Invokeは、ローカルおよび抽象的関心事のみに焦点を当てるために作成され、Fabric 2.xはサーバーとネットワークコマンドのみに関係していました。
したがって、Fabric 2.x
はinvoke
の上に構築されます。うまくいけば、Fabric 2.x
はまもなく利用可能になるので、Python2はできるだけ早く死ぬことができます。