Python 3支持结构

结构( http://docs.fabfile.org/en/1.7/ )是否支持Python 3呢? 根据超级大国的Python 3墙,它还没有。 如果不是使用Python 3使用Django 1.5的最佳select。

当前已经被@ miso.belica完成的答案

 pip install fabric3 

老年人答复(截至2013年)

从文档:

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

或者更具体地说:

最终的Python 3.x兼容性

它看起来像Python3支持结构是有点粘,取决于另一个开放源码库, paramiko兼容python3。 截至目前,主版本支持python 3。

这可能是值得搞乱,然后build立你的面料实例,而不是从点。

似乎有一个名为Fabric3的Fabric3的 Python3端口支持Python 2.7和3.4+(对Python的支持不足2.7)。 我用了一段时间作为replace,它适用于我没有任何问题。

所以,直到Fabric 2.0将准备好,这个包可以用来代替:)

 pip3 install fabric3 

你也可以为结构创build一个单独的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兼容。 至less这是我在下面的路线图之间阅读的内容。 但是,我无法findFabric 2.0存储库或分支,因此很难完全确认。

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

实际上可能让Fabric与Python 3一起工作。您可以看到我在这个要点中做了些什么。

在上面的评论中,@ rneviusbuild议invoke是作为Fabric 1.x的inheritance者,但是这不完全正确。 从调用文档:

因此,创buildInvoke是专门关注本地和抽象的关注点,而Fabric 2.x只关心服务器和networking命令。

因此, Fabric 2.x似乎将build立在invoke之上。 希望Fabric 2.x很快就能上市,所以Python2会尽快死亡。