импортировать файлы из того же / родительского каталога в python файлов для загрузки в виде пакета pypi - PullRequest
0 голосов
/ 06 мая 2020

Я знаю, что есть много вопросов, касающихся импорта файлов в другие каталоги, но я не нашел решения своей проблемы:

Я написал небольшой проект с такой структурой:

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)

Спасибо за любую помощь и совет!

...