Python 3支持Fabric

时间:2013-09-11 08:31:23

标签: python-3.x fabric

fabric(http://docs.fabfile.org/en/1.7/)是否支持Python 3。根据{{​​3}},它还没有。 如果不是,如果在Python 3中使用Django 1.5,那么最佳选择是什么。

6 个答案:

答案 0 :(得分:89)

似乎有一个名为Fabric3的Fabric的Python3端口支持Python 2.7和3.4+(不再支持Python< 2.7)。我用一段时间作为替代品,它对我没有任何问题。

pip3 install fabric3

似乎已有官方support for Python 3.4+ in Fabric v2+,我猜it should be preferred虽然可能有一些incompatible changes。所以在一个理想的世界里,没有人应该再遇到这个问题:)

pip3 install -U fabric

答案 1 :(得分:35)

已经由@ miso.belica

完成的

Current Answer

pip install -U "fabric>2.0.0"

旧答案(截至2013年)

来自文档:

  

请注意,所有文档目前都是用Python编写的   2.5用户,但着眼于最终的Python 3.x兼容性

或者更具体:

  

最终的Python 3.x兼容性

看起来Python对Fabric的支持有点粘,依赖于另一个开源库,paramiko与python3兼容。截至目前,主版本支持python 3。

可能值得搞乱,然后在其上构建您的结构实例,而不是从pip获取它。

答案 2 :(得分:17)

你也可以为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

答案 3 :(得分:7)

似乎Fabric正在进行重写,而Fabric 2.0将与python 3.x兼容。至少这是我在下面的路线图之间读到的内容。但是,我找不到Fabric 2.0存储库或分支,因此很难完全确认。

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

答案 4 :(得分:3)

对于那些寻找受支持的Fabric 1.x版本的人,有一个fork可以维护: https://github.com/ploxiln/fab-classic

如果您不想重写所有现有代码,我建议使用它。它可以在Python 3.7中使用。

我们已从HStack切换到VStack,没有任何问题。

答案 5 :(得分:2)

到目前为止,“ fabric 2”已经可以与python 3+一起使用了。

“面料3”是非官方的叉子。

要从https://pypi.org/project/Fabric/安装“ fabric 2”:

pip install Fabric