J'ai un projet PYDEV qui utilise des tampons de protocole. Les fichiers de tampon de protocole sont situés dans un fichier zip généré par le compilateur Protoc. Tout fonctionne lorsque j'exécute le programme, Toutefois, PYDEV rapporte la "variable non définie de l'importation" pour chaque constante de dénombrement. Donc, par exemple:
import model_pb2 value = model_pb2.Expression(type = model_pb2.Expression.PARAMETER)
3 Réponses :
Avez-vous essayé d'ajouter "Model_PB2" à vos produits forcés? Voir: http://pydev.org/manual_101_project_conf2.html pour plus de détails. P>
Est-il possible d'examiner ce fichier zip avec le code source pour voir ce qui peut se produire?
J'ai trouvé qu'utilisé pour des produits, comme cela peut fonctionner, mais uniquement si tous les fichiers de proto sont dans un séparé situé dans une bibliothèque externe (voir Cela devrait fonctionner: p>
Si vous n'êtes pas accro à l'autocomplete, vous pouvez utiliser CTRL + 1 pour ignorer ces erreurs plutôt comme décrit dans cette réponse . Cela a été testé avec Eclipse Kepler et Pydev 2.8. P>
J'ai rencontré ce problème avec Protobuf 2.6.1 et PYDEV 4.5.5. J'ai essayé les suggestions ci-dessus, aucun d'entre eux n'a aidé dans mon cas. Ce qui a fini par se débarrasser des erreurs «une variable non définie» lors de l'utilisation de Protobuf Enums était simple:
Accédez à l'ENUM sur un objet Protobuf instancié plutôt que sur le module Protobuf. Strong> P> Je ne sais pas si cela pouvait être appliqué au cas d'utilisation de l'OP, mais dans la mienne, c'était aussi simple que: p>