Импорт шести модулей не работает, несмотря на установку pip
Я создаю веб-приложение (на основе google app engine и python 2.7) и пытаюсь импортировать модуль six.move. Но хотя "шестерка" установлена, она не обнаруживается при импорте (обратите внимание, я пока не использую фреймворки, такие как Django).
В моей рабочей среде (env) я запустил:
| => pip show six
Name: six
Version: 1.11.0
Summary: Python 2 and 3 compatibility utilities
Home-page: http://pypi.python.org/pypi/six/
Author: Benjamin Peterson
Author-email: benjamin@python.org
License: MIT
Location: /path/to/file/DeployedProjects/goinpact/env/lib/python2.7/site-packages
Requires:
Модуль, который вызывает этот пакет, называется "id_token.py" из "google.oauth2".
Итак, когда я бегу
from google.oauth2 import id_token
и затем загрузите мое веб-приложение, журнал ошибок импорта читает:
File "/path/to/file/DeployedProjects/goinpact/env/lib/python2.7/site-packages/google/oauth2/id_token.py", line 19, in <module>
from six.moves import http_client
ImportError: No module named six.moves
Модуль id_token.py вызывает:
from six.moves import http_client
... вызывая ошибку импорта журнала выше.
Насколько я понимаю, что если в моей среде (env) я вижу, что установлена "шестерка", у меня не должно возникнуть проблем с импортом этого модуля из моего приложения. Это как-то не правильно?
Я, должно быть, упускаю что-то простое, но не могу понять что? Пожалуйста помоги!
PS: Ресурсы, которые я также пытался:
A) Даже вызов из моего файла "main.py":
import six
приводит к тому же ImportError.
B) ImportError: нет модуля с именем шесть
C) Не решено: не удается установить модуль Python шесть
1 ответ
Когда виртуальная среда Python активирована, пути переписываются для добавления {env}/lib/python2.7/
, Однако GAE сама не знает о виртуальных средах. Так что если вы хотите six
(или какая-либо другая библиотека на чистом Python), которая будет доступна для вашего приложения, вам нужно будет это организовать самостоятельно. Инструкции о том, как это сделать, находятся в https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27