web-dev-qa-db-ja.com

Python 3ファブリックのサポート

ファブリック( http://docs.fabfile.org/en/1.7/ )サポートPython 3まだ。 Python 3 Wall of Superpowers まだありません。Django 1.5 with Python 3。

51
jethar

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から取得するのではなく、いじって、その上にファブリックインスタンスを構築する価値があるかもしれません。

35
Greg

Fabric という名前のFabricのPython3ポートがあり、Python 2.7および3.4​​+(Python <2.7 )。私はそれを代わりとしてしばらく使用し、それは私のために問題なく動作します。

pip3 install fabric3

すでに公式になっているようです Python 3.4 + のサポート)==と推測します 推奨されるべきです互換性のない変更 。したがって、理想的な世界では、誰もこの問題を抱えるべきではありません:)

pip3 install -U fabric
90
Mišo

ファブリック専用の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
17
Jeremy T

Fabricは書き直されて、Fabric 2.0はpython 3.xと互換性があるようです。 Fabric 2.0リポジトリまたはブランチなので、完全に確認するのは困難です。

http://www.fabfile.org/roadmap.html

7
Jeremy Chone

この日までに、「fabric 2」はpython 3+。

「fabric 3」は非公式のフォークです。

https://pypi.org/project/Fabric/ から「fabric 2」をインストールするには:

pip install Fabric
2
Valery Ramusik

実際にFabricをPython 3.で動作させることができます。私はそれを this Gist で確認できます。

上記のコメントで、@ rneviusはinvokeがFabric 1.xの後継として意図されていることを示唆していますが、それは完全に正しいわけではありません。呼び出しドキュメントから:

したがって、Invokeは、ローカルおよび抽象的関心事のみに焦点を当てるために作成され、Fabric 2.xはサーバーとネットワークコマンドのみに関係していました。

したがって、Fabric 2.xinvokeの上に構築されます。うまくいけば、Fabric 2.xはまもなく利用可能になるので、Python2はできるだけ早く死ぬことができます。

2
mok0