2016-06-29 3 views
1

TL; DR: Ямпи использует относительный импорт ... есть ли какая-то настройка, которую я могу изменить, чтобы она работала как есть (без необходимости рефакторирования каждые import в проект)?Ошибка импорта Yampy: нет модуля с именем «аутентификатор»


Windows 7, Python 3.4.3, PyCharm 2016.1.4, Yampy 1.0

Должно быть достаточно простой вопрос - надеюсь кто-то сталкивался это раньше. Я следую за quickstart guide. Кто-то спросил the same question год назад с меньшей информацией, но ответа не было.

Я создал виртуальный, активированный и установленный ямпи. Это дало ошибку импорта ниже, так что я удалил и установить снова:

(MyVenv) C:\Users\me>pip install yampy 
Collecting yampy 
    Using cached yampy-1.0.tar.gz 
Requirement already satisfied (use --upgrade to upgrade): requests in c:\virtual environments\myvenv\lib\site-packages (from yampy) 
Installing collected packages: yampy 
    Running setup.py install for yampy ... done 
Successfully installed yampy-1.0 

Это создало следующий каталог:

  • C: \ Virtual Environments \ MyVenv \ Lib \ сайта-пакеты \ yampy
    • __pycache_ _ (содержит соответствующие .pyc файлы)
    • APIs
      • __pycache_ _ (содержит соответствующие .pyc файлы)
      • __init_ _.py
      • messages.py
      • users.py
      • utils.py
    • __init_ _.py
    • аутентификатор. ру
    • client.py
    • constants.py
    • ошибки. ру
    • models.py
    • yammer.py

Содержание __init_ _.py:

""" 
The official Python client for Yammer's API 
""" 

from authenticator import Authenticator 
from client import Client 
from yammer import Yammer 

Вопрос:

Когда я import yampy от python, я получаю следующую трассировку (это было из оболочки PyCharm , Но тот же вопрос в командной строке оболочки):

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    File "C:\Program Files (x86)\JetBrains\PyCharm 2016.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import 
    module = self._system_import(name, *args, **kwargs) 
    File "C:\Virtual Environments\myvenv\lib\site-packages\yampy\__init__.py", line 22, in <module> 
    from authenticator import Authenticator 
    File "C:\Program Files (x86)\JetBrains\PyCharm 2016.1\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import 
    module = self._system_import(name, *args, **kwargs) 

Это не имеет никакого смысла для меня, так как все, кажется, есть. Благодаря!


Update:

Если изменить _init _ файл использовать абсолютный импорт (from yampy.authenticator import .. вместо from authenticator import..), он решает сразу же проблему, но создает строку ошибок импорта на протяжении всего проекта. Есть ли какая-то настройка, которую я могу изменить, для чего потребуется минимум рефакторинга?

+0

Крик к @ brian-lyttle – Jon

ответ

1

Если проверили GitHub первый: есть open issue об этом, который был открыт с февраля 2015 г. Видимо, проект в Python 2. Переход попробовать разветвление и обновление для Python 3 ..


Обновление: внесенные изменения вручную, заняло около 5 минут. Импорт сейчас!


Лучше Update: Энтони Шоу (tonybaloney на Github) опубликовал a package for Python 3 называется yampy3.

Смежные вопросы