python-3.x fabric

python 3.x - Soporte Python 3 para tela



python-3.x fabric (5)

Does fabric ( http://docs.fabfile.org/en/1.7/ ) es compatible con Python 3 aún. De acuerdo con Python 3 Wall of Superpowers todavía no. Si no, ¿cuál es la mejor alternativa si usa Django 1.5 con Python 3?


De hecho, es posible hacer que Fabric funcione con Python 3. Puedes ver cómo lo hice en este momento .

En los comentarios anteriores, @rnevius sugiere que invocar es un sucesor de Fabric 1.x, pero eso no es completamente correcto. De los documentos de invocación:

Por lo tanto, Invoke se creó para centrarse exclusivamente en problemas locales y abstractos, dejando a Fabric 2.x preocupado solo por los servidores y los comandos de red.

Por lo tanto, parece que Fabric 2.x se construirá sobre la invoke . Con suerte, Fabric 2.x estará disponible pronto, por lo que Python2 puede morir lo más rápido posible.


Parece que Fabric está pasando por una reescritura y que Fabric 2.0 será compatible con Python 3.x. Al menos esto es lo que leo entre la línea de la hoja de ruta a continuación. Sin embargo, no puedo encontrar el depósito o la rama de Fabric 2.0, por lo que es difícil confirmarlo por completo.

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


Parece que hay un puerto de Fabric Fabric3 llamado Fabric3 que admite Python 2.7 y 3.4+ (soporte eliminado para Python <2.7). Lo uso un tiempo como reemplazo y funciona para mí sin ningún problema.

Entonces, hasta que Fabric 2.0 esté listo, este paquete se puede usar en su lugar :)

pip3 install fabric3


También puede crear un virtualenv de python2.7 separado solo para fabric:

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

Entonces:

/var/www/APPNAME/fabric-env/bin/fab -f /var/www/APPNAME/fabfile.py FAB_COMMAND


Respuesta actual que ya ha sido hecha por @ miso.belica

pip install fabric3

ANTIGUA Respuesta (desde 2013)

De los documentos:

Tenga en cuenta que toda la documentación está escrita actualmente con usuarios de Python 2.5 en mente, pero con la vista puesta en la posible compatibilidad con Python 3.x.

O para ser más específico:

eventual compatibilidad con Python 3.x

Parece que el soporte de Python3 para fabric es un poco pegajoso y depende de otra biblioteca de código abierto, paramiko es compatible con python3. A partir de ahora, la versión maestra es compatible con Python 3.

Puede que valga la pena perder el tiempo y luego construir tu instancia de fabric encima de eso en lugar de obtenerlo de pip.