Библиотека 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
пакет.