Size: a a a

2021 November 25

A

Alex in Python
ШТА? какое это вообще имеет отношение к проблеме
источник

TB

Thomas Brown in Python
легче принять это как должное
источник

VR

Vartan RedMan in Python
не, я хочу понять питон
источник

RV

Roman Voronov in Python
Такое же как и https://t.me/ru_python/1600751
источник

TB

Thomas Brown in Python
Ох, удачи, я пошел нахуй)))))
источник

A

Alex in Python
потому что еще раз.

если ты запускаешь скрипт run.py то в sys.path находится директория flasksite/, поиск модулей и пакетов будет вестись от этой директории, а не от ее родительской.
источник

A

Alex in Python
соответственно никакого from flasksite import app существовать не может. у тебя пакета flasksite нет
источник

Pavel Павлик in Python
Это, конечно, не рефлексия, но что-то близкое к ней. На мой взгляд, в рабочих проект лучше будет чуть более вербозно или топорно, чем использовать такие вот опасные штуки
источник

VR

Vartan RedMan in Python
хм, логично
источник

A

Alex in Python
варианты решения:
1. вынести run.py на уровень выше.
2. запускать модуль, а не файл: python -m flasksite.run
источник

A

Alex in Python
3. сделать нормальную структуру проекта с точкой входа, а не вот эти вот костыли.
источник

VR

Vartan RedMan in Python
в чём будет разница если не запускать как модуль? в целом(не по отношению моего вопроса)
источник

A

Alex in Python
не понял вопрос
источник

VR

Vartan RedMan in Python
то есть обычно запускают же python run.py не указывая флаг
источник

A

Alex in Python
нет. запускают по-разному.
источник

Pavel Павлик in Python
К примеру, IDE будет хуже рефакторить код с динамикой
источник

A

Alex in Python
это костыльный способ, так как пути импортов зависят от расположения скрипта.
нормальный способ — сделать нормальную структуру проекта с точками входа.
источник

A

Alex in Python
использовать editable install
источник

VR

Vartan RedMan in Python
понял, спасибо
источник

TB

Thomas Brown in Python
Почему?
источник