2017-02-14 2 views
0

Не ищут модули в порядке путей в sys.path?Python Path whic позже в списке sys.path, который выбирается заранее

Я напечатал sys.path в точке кода, в котором происходит сбой импорта. Записи sys.path находятся в следующем порядке.

['/home/xyz/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib', 
... 
'/usr/lib/python2.7/dist-packages'] 

Операция импорта: "from google.api.control import client as control_client". Правильный путь, где находится модуль 'google.api.control', - '/home/xyz/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib'. Однако, я напечатал google.api.__path__ непосредственно перед оператором импорта, и путь '/usr/lib/python2.7/dist-packages/google/api'

Почему путь вперед в списке не получают выбрали?

+0

Возможно, он не нашел его на первом пути. Вы уверены, что он там был? – Illusionist

+1

У меня была аналогичная проблема с моими трактами импорта, когда я вводил конечные точки в свой проект. В моем случае google .__ path__ не распознает файлы из SDK приложения. Я «решил» его, добавив «import google.api» перед моим неприятным импортом. Это заставило python изменить google .__ path__ и все сработало. У конечных точек и SDK приложения должен быть определенный конфликт имен, требующий разрешения. Некрасиво. Но это сработало. – HondaGuy

+0

Иллюзионист: Да, я печатал пути. @HondaGuy: Я добавил «import google.api» перед тем, как беспокоиться «из клиента импорта google.api.control как control_client». Я все еще вижу эту проблему. Любая идея, почему google.api в пакетах сайта не включает control.client? Я даже попробовал «pip install --upgrade google-api-python-client». Но не вижу control.client в сайтах-пакетах. – sam

ответ

0

Как указано @HondaGuy, установка «google-endpoints» на стандартный путь пакетов python является одним из способов решения этой проблемы.

pip install google-endpoints 
Смежные вопросы