Lors du développement d'une API WEB qui s'exécute sur Elastic Beanstalk sur AWS, [vous devez utiliser une version légèrement plus ancienne de Python 3.4](http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/ dg / create-deploy-python-container.html).
Et cette fois, j'ai rencontré une situation où il existe une bibliothèque qui fonctionne correctement en Python 3.6, mais ne fonctionne pas en 3.4 à moins que vous ne spécifiiez la version en détail.
Par conséquent, lorsque j'ai cherché comment commenter pour noter les informations "Pourquoi ne pas utiliser la dernière version" dans `requirements.txt```, c'est OK avec`
# `` comme Python lui-même. était.
...
ply==3.8
# Python3.4 ne parvient pas à importer la dernière version
protobuf==3.2.0rc2
pyasn1==0.3.3
...
Je l'ai trouvé dans cette description. Normalement, il est automatiquement généré par
pip freeze> requirements.txt```, il semble donc qu'il n'y ait pas beaucoup d'occasions d'écrire des commentaires.
https://github.com/pypa/pip/issues/564
A line beginning with # is treated as a comment and ignored, so you can just place your comment on the line above instead of on the same line.
C'est la fin du sujet de cet article, mais je ne suis pas convaincu du comportement lui-même que "ça ne marche pas à moins que vous ne spécifiiez la version en détail en 3.4", donc je vais l'étudier une fois qu'il sera prêt à fonctionner.
Plus précisément, dans Python 3.4, une erreur se produit lors de l'importation de la version 3.4.0 de la bibliothèque
protobuf```, donc 3.2. J'ai dû utiliser 0rc2 (même les versions avant et après cela ne fonctionnaient pas).
File "/home/ninomiyt/eb-virt/local/lib/python3.4/site-packages/google/cloud/client.py", line 26, in <module>
from google.cloud._helpers import _determine_default_project
File "/home/ninomiyt/eb-virt/local/lib/python3.4/site-packages/google/cloud/_helpers.py", line 33, in <module>
from google.protobuf import duration_pb2
ImportError: No module named 'google.protobuf'
Normalement, ce serait cool de pouvoir écrire un article après avoir identifié la cause de l'erreur et envoyé une pull request (ou soulevé un problème), mais pour le moment, donner la priorité à la libération et à la fin du travail.
Recommended Posts