Проблема с Python при импорте моих файлов в скрипт (не в консоль)Python

Программы на Python
Ответить
Anonymous
 Проблема с Python при импорте моих файлов в скрипт (не в консоль)

Сообщение Anonymous »

Я знаю, что проблема, о которой я спрашиваю, содержит тысячи вопросов и ответов, но мне нужно объяснение моей конкретной проблемы, потому что я впервые использую код, написанный другими, и меня очень смущает импорт.
Итак: я использую Pycharm и вытащил весь код (организованный в каталогах) непосредственно из репозитория gitLab.

вот структура:

Код: Выделить всё

C:\users\marco\PycharmProjects\Avv
└──ads-ai
└──src
└──dataElab
└──dataprep.py
└──datamod.py
├──doc2vec
├──logger
└──log_setup.py
├──res
├──mod1.py
├──mod2.py
├──mod3.py
└──rest
└──api.py
мой стартовый скрипт — api.py, и мне нужно импортировать туда mod1.py —

но начните писать

Код: Выделить всё

import mod1
выдает ошибку.

проблема также в том, что на mod1 есть другие импорты:

Код: Выделить всё

from logger import log_setup
from dataElab import dataprep, datamod
все импорты выдают ошибку «NoModuleFound».
Я пробовал:
-добавить путь с помощью sys.path.append
- относительные пути (из .. import mod1), но выдает ошибку ValueError: попытка реального импорта за пределы пакета верхнего уровня
-абсолютный путь

но ничего, у меня всегда ошибка «нет модуля», для mod1 или для log_setup.

Я хочу использовать скрипт Pycharm, а не консоль Python.
Если я проверю с помощью os.getwd() --> C:\users\marco\PycharmProjects\Avv\ads-ai\src\rest (должно быть правильно).

и с sys.path --->

['C:\Users\marco.onnis\PycharmProjects\Avvocatura2020\ads-ai\src\restAPI', 'C:\Users\marco.onnis\PycharmProjects\Avvocatura2020', 'C:\Users\marco.onnis\AppData\Local\Continuum\anaconda3\envs\Avvocatura2020\python36.zip', 'C:\Users\marco.onnis\AppData\Local\Continuum\anaconda3\envs\Avvocatura2020\DLLs', 'C:\Users\marco.onnis\AppData\Local\Continuum\anaconda3\envs\Avvocatura2020\lib', 'C:\Users\marco.onnis\AppData\Local\Continuum\anaconda3\envs\Avvocatura2020', 'C:\Users\marco.onnis\AppData\Local\Continuum\anaconda3\envs\Avvocatura2020\lib\site-packages', 'C:\Users\marco.onnis\AppData\Local\Continuum\anaconda3\envs\Avvocatura2020\lib\site-packages\xlsxwriter-1.2.8-py3.6.egg']

Мне очень жаль, если я снова задаю вопросы такого типа, но у меня проблемы с пониманием концепции name , main и все такое, а что делать в моем конкретном случае я не знаю (надеюсь тогда в общих чертах разберусь с темой)

большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/607 ... he-console
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»