Импорт шести модулей не работает, несмотря на установку 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

Другие вопросы по тегам