Итак: я использую 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
но начните писать
Код: Выделить всё
import mod1
проблема также в том, что на mod1 есть другие импорты:
Код: Выделить всё
from logger import log_setup
from dataElab import dataprep, datamod
Я пробовал:
-добавить путь с помощью 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
Мобильная версия