Библиотека Python Upwork API - ImportError: невозможно импортировать имя «клиент» - PullRequest
0 голосов
/ 03 июня 2018

У меня проблема при использовании Python Upwork library .Он был установлен через 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 Ответ

0 голосов
/ 03 июня 2018

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

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

...