Проблемы с Windows с абсолютными ошибками импорта Python - PullRequest
0 голосов
/ 05 ноября 2019

Существует множество других вопросов и ответов, объясняющих нюансы абсолютного импорта Python. Из них у меня был большой проект, хорошо работающий в Linux. Но чтобы сделать исполняемый файл Windows, он должен быть скомпилирован в Windows, и на этой платформе абсолютные ссылки, кажется, нарушаются. Я думаю, что это проблема окружающей среды, но я не могу понять, почему.

# I've tried both setting and unsetting the python path to the project, 
# which then shows up in > python -c "import sys; print(sys.path)"
> $env:PYTHONPATH = "C:\Users\Me\Workspace\my_proj"
# I've tried both with and without an __init__.py file in Workspace\

Создание игрушечного проекта для отладки: каталог my_proj\ содержит __init__.py, a.py и b.py Если a.py содержит строку (и) def foo(): print('Awesome'), то дляb.py, я могу импортировать его как import a без проблем: import a; a.foo(), в любом каталоге, без __init__.py.

Но для использования import my_proj.a или from my_proj import a, звоните либо из * 1018Каталоги * или Workspace\ с файлами __init__.py или без них не работают.

Если python может видеть каталог my_proj\ в пути python / sys.path, почему бы это не сработало?

...