невозможно импортировать модуль из папки - PullRequest
5 голосов
/ 28 июня 2019

Я использую VSCODE в качестве редактора и использую Python 3.7 У меня есть такая структура папок

project
|-- util
   | -- drivers.py
   | -- data.py
   | -- __init__.py
|-- test
   | -- driver_test.py
   | -- __init__.py
main.py

Я хочу импортировать drivers.py из папки util в driver_test.py Я попытался сделать основной импорт, как это

from util.drivers import Driver

, который не работал, так как он не мог найти модуль util, тогда я использовал другой подход, добавив папку в sys.path. как это

# driver_test.py
sys.path.append(os.path.abspath('./util'))
import drivers

Я очень запутался с несколькими ошибками вывода. Когда я запускаю свой юнит-тест из консоли, я получаю сообщение об ошибке, что драйверы не найдены

import drivers
ModuleNotFoundError: No module named 'drivers'

И если я запускаю тестовый файл в редакторе vscode, щелкнув правой кнопкой мыши и Run current test file, вывод ошибки будет отличаться тем, что не найден драйвер селена, который включен в drivers.py файл

from selenium import webdriver
ModuleNotFoundError: No module named 'selenium'

Модуль Selenium на самом деле работает нормально, и я просто хотел подправить несколько unittest для него и большинство. Что я делаю не так и как это можно решить? И возможно ли включить модуль без использования sys.path просто с помощью импорта.

1 Ответ

1 голос
/ 28 июня 2019

Возможно, вы захотите установить PYTHONPATH в каталог project. Подробнее об этом в этом обсуждении на форумах StackOverflow или на официальном сайте Python .

...