2010-11-07 18 views
1

L'autre personne de mon équipe de développement a déployé notre application Django sur le serveur via Fabric. Depuis que je dois être en mesure de déployer ainsi je configurer tissu sur mon système, mais lorsque je tente de déployer je reçois une erreur globale Nom:Nom global Erreur lors du déploiement avec Fabric

File ".../fabfile.py", line 4, in staging 
    config.settings = 'staging' 
NameError: global name 'config' is not defined 

Puisque nous connaissons le fabfile est très bien, il doit être un problème dans ma configuration. Des idées?

+0

Pouvez-vous montrer votre fabfile? Les lignes d'importation et la commande que vous essayez d'exécuter. Je suppose que la config n'est pas dans votre PYTHONPATH, alors que c'est sur l'autre dev. –

+0

Aucune importation. La ligne 4 est la première ligne de la première fonction. Je me suis douté de quelque chose de similaire, mais je ne sais pas quoi ajouter à la PYTHONPATH – crgwbr

Répondre

7

ohhh je sais cette erreur, cette erreur se produit parce que vous avez installé dans votre version de tissu machine supérieure à 0.9 et le fichier de tissu que vous souhaitez utiliser a été développé en utilisant et ancienne version du tissu < 0.9.

Pour plus de détails la config obj a été remplacé par env en tissu 0,9, donc si vous exécutez yor fabfile en utilisant la version de tissu supérieure à 0,9, il ne reconnaîtra pas l'objet config.

donc vous devez installer une ancienne version du paquet de tissu ou simplement mettre à jour votre fabfile je pense qu'il est temps pour que :)

Hope this peut vous aider :)

+0

le lien est brisé. –

+0

@SiweiShen: Oui désolé à ce sujet, je suppose que la documentation de l'ancienne version 0.9 a été supprimée (maintenant ils sont à 1.4.2) mais si vous rencontrez le même problème que l'OP, remplacez simplement 'config' par' env 'et vérifiez le nouveau doc ​​(http://docs.fabfile.org/fr/1.4.2/usage/env.html#the-environment-dictionary-env) si vous avez besoin de changer quoi que ce soit d'autre :) – mouad

+0

merci pour le répondre ~ –