Библиотека Python Upwork API - ImportError: невозможно импортировать имя "клиент"

У меня проблема при использовании библиотеки Python Upwork. Он был установлен через PIP.

В...\site-packages\upwork\ я создал файл myAuth.py.

Содержание этого файла до сих пор:

apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
secretKey = 'XXXXXXXXXXXXXXXXXX'

import upwork

Вот трассировка от строки cmd:

C:\Python36-32\Lib\site-packages\upwork>python myAuth.py
Traceback (most recent call last):
  File "myAuth.py", line 4, in <module>
    import upwork
  File "C:\Python36-32\lib\site-packages\upwork\__init__.py", line 23, in <module>
    from upwork.client import Client
  File "C:\Python36-32\lib\site-packages\upwork\client.py", line 8, in <module>
    import urllib3
  File "C:\Python36-32\lib\site-packages\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Python36-32\lib\site-packages\urllib3\connectionpool.py", line 11, in <module>
    from .exceptions import (
  File "C:\Python36-32\lib\site-packages\urllib3\exceptions.py", line 2, in <module>
    from .packages.six.moves.http_client import (
  File "C:\Python36-32\lib\site-packages\urllib3\packages\six.py", line 203, in
load_module
    mod = mod._resolve()
  File "C:\Python36-32\lib\site-packages\urllib3\packages\six.py", line 115, in
_resolve
    return _import_module(self.mod)
  File "C:\Python36-32\lib\site-packages\urllib3\packages\six.py", line 82, in _
import_module
    __import__(name)
  File "C:\Python36-32\Lib\site-packages\upwork\http.py", line 6, in <module>
    from compatibility import HTTPError, httplib
  File "C:\Python36-32\Lib\site-packages\upwork\compatibility.py", line 8, in <module>
    from http import client as httplib
ImportError: cannot import name 'client'

Моя версия Python 3.6.4. Я пытался запустить код из 2.7.15, но раньше он выдал другую ошибку, поэтому я буду придерживаться 3.6.4.

Кроме того, я получил одну ошибку ранее: ImportError: attempted relative import with no known parent package, но в файле http.py я заменил:

from .compatibility import HTTPError, httplib

с:

from compatibility import HTTPError, httplib

и все работает нормально до текущей ошибки.

Я никогда раньше не использовал Python, но мне не удалось найти способ получить доступ к API в VBA, и у Python уже есть решение.

1 ответ

Решение

Как уже упоминалось в комментариях, поместите myauth.py скрипт не находится в папке пакета upwork (например, просто попробуйте homedir пользователя).

Причина в том, что папка site-packages / upwork определяет содержимое пакета upwork, поэтому import upwork не будет работать из этого места. Таким образом, вы фактически добавляете upwork.myauth пакет.

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