#python #pip #python-import #importerror
#python #pip #python-импорт #ошибка импорта
Вопрос:
У меня есть папка проекта:
project
├── notebooks
│ └── EDA.ipynb
├── setup.py
└── src
├── data
│ ├── make_data.py
│ └── __init__.py
└── __init__.py
Содержимое в setup.py есть:
from setuptools import find_packages, setup
setup(
name='src',
packages=find_packages(),
version='0.1.0',
description='',
author='AG',
license='MIT')
После использования pip install .
from project чтобы сделать мой src модулем python, я могу видеть модуль src при создании conda list
… Но когда я пытаюсь импортировать некоторую функцию из make_data.py когда я работаю в EDA.ipynb:
from src.data.make_data import some_func
Я получаю:
ModuleNotFoundError: No module named 'src'
Что я делаю не так?
Ответ №1:
Является ли виртуальная среда, в которой вы установили ‘src’, такой же, где вы пытаетесь это сделать.
Пожалуйста. запустите
pip list
в этой виртуальной среде, чтобы проверить, установлен ли ‘src’.
Кроме того, пожалуйста. проверьте инструкцию import в интерпретаторе python вашей виртуальной среды.
Комментарии:
1. Когда я запускаю
pip list
, я также вижу пакет src в среде. И когда я импортирую src из интерпретатора python, он успешно загружается… В других попытках из EDA.ipynb я также был в правильной среде.
Ответ №2:
Мне удалось решить проблему, благодаря @Simplecode за помощь. Кажется, что из терминала я смог импортировать модуль, но не из spyder или jupyterlab, несмотря на то, что я был в той же виртуальной среде. Это было связано с тем, что IDLE использовали другую версию python, поскольку они не были установлены в virtualenv. Установка spyder и jupyterlab в среде решила проблему импорта.