Не можете импортировать модули в Python? - PullRequest
0 голосов
/ 21 марта 2020

Я следую инструкциям и использую файлы из: https://github.com/eBay/ebay-oauth-python-client

При импорте я получаю сообщение об ошибке: oauth2api, credentialutil, & model. Это шаг 3 на вышеуказанном сайте.

import yaml, json
sys.path.insert(0, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient/model')
sys.path.insert(1, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/test')
sys.path.insert(2, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient')
import credentialutil
import model
import oauth2api
print(sys.path)

сообщение об ошибке:

C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38-32 \ python .exe C: / Users / kyle / PycharmProjects / app / app.py Traceback (последний вызов был последним): файл "C: / Users / kyle / PycharmProjects / app / app.py", строка 10, в файле учетных данных импорта "/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient\credentialutil.py", строка 20, из среды импорта model.model, учетные данные ModuleNotFoundError: модуль не указан 'model.model'; 'модель' не является пакетом

Процесс завершен с кодом завершения 1

Код выполняется, если я импортирую только модель:

import yaml, json
sys.path.insert(0, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient/model')
sys.path.insert(1, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/test')
sys.path.insert(2, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient')
import model
print(sys.path)

без сообщения об ошибке:

C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38-32 \ python .exe C: / Users / kyle / PycharmProjects / app / app.py ['/ Users / kyle / PycharmProjects / app / ebay-oauth- python -клиент-мастер / oauthclient / model ',' / Users / kyle / PycharmProjects / app / ebay-oauth- python -client-master / test ',' / Users / kyle / PycharmProjects / app / ebay-oauth- python -client-master / oauthclient ',' C: \ Users \ kyle \ PycharmProjects \ app ',' C: \ Users \ kyle \ PycharmProjects \ app ',' C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38-32 \ python38.zip ',' C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38- 32 \ DLLs ',' C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib ',' C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38- 32 ',' C: \ Users \ kyle \ AppData \ Local \ Programs \ Python \ Python38-32 \ lib \ site-packages ',' C: \ Users \ kyle \ AppData \ Loc al \ Programs \ Python \ Python38-32 \ lib \ site-packages \ pymodel ']

Процесс завершен с кодом выхода 0

Я также получаю зеленую линию в разделе oauthclient, и я не знаю почему Все написано правильно.

sys.path.insert(0, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient/model')
sys.path.insert(2, '/Users/kyle/PycharmProjects/app/ebay-oauth-python-client-master/oauthclient')

1 Ответ

0 голосов
/ 21 марта 2020

Я вижу две проблемы.

Во-первых, кажется, что вы используете Python в Windows, но вы пытались вставить путь MacOS в sys.path. Вы уверены, что пути типа /Users/kyle/... действительно существуют в вашей файловой системе?

Во-вторых, вам нужно только вставить родительский путь, то есть /path/to/ebay-oauth-python-client/oauthclient в sys.path. В моем локальном тесте это работает:

import yaml, json
import sys
sys.path.insert(0, r"C:\Users\guosh\Downloads\test\ebay-oauth-python-client\oauthclient")
import credentialutil
import model
import oauth2api
print(sys.path)

Однако я бы посоветовал вам импортировать пакет целиком, как показано ниже:

import yaml, json
import sys
sys.path.insert(0, r"C:\Users\guosh\Downloads\test\ebay-oauth-python-client")
import oauthclient
print(sys.path)
...