Я знаю, что есть много вопросов, касающихся импорта файлов в другие каталоги, но я не нашел решения своей проблемы:
Я написал небольшой проект с такой структурой:
project
|-setup.py
|-... some files (README, LICENSE, etc)
|-package_name
|-__main__.py
|-__init__.py
|-run.py
|-script
|-__init__.py
|-calculations.py
|-GUI
|-__init__.py
|-window.py
в main .py, например, я хочу импортировать run.py. Я попробовал
import run
, который отлично работал при локальном запуске. Но после загрузки и установки проекта на PyPi.org я попытался запустить его с помощью python3 -m package_name
и получил ошибку импорта:
File "/home/user/.local/lib/python3.6/site-packages/package_name/__main__.py", line 6, in <module>
import run
ModuleNotFoundError: No module named 'run'
, поэтому я попытался импортировать, например, from . import run
или from ..script import calculations
(из ./GUI/window.py) или
import sys
sys.path.append('../')
from script import calculations
Но ни один из них не работал из пакета PyPi.
Мой setup.py выглядит так:
from setuptools import setup, find_packages
setup(
...
packages=find_packages(),
package_data={'deputat': ['GUI/pictures/*.svg']},
...
)
Я надеюсь, что кто-то поможет мне исправить это после нескольких часов бесполезных попыток и около 100 новых версий, загруженных в pypi (мы не 100, а много: p)
Спасибо за любую помощь и совет!