#python #pip #package #pypi
#python #pip #пакет #pypi
Вопрос:
У меня есть проект Python, и я хочу опубликовать его Pypi
. Давайте назовем это Package_main
. Я использовал некоторые локальные / частные / пользовательские пакеты Python ( Package_1
и Package_2
) Package_main
.
В Package_main
:
import Numpy, matplotlib # import public packages
import Package_1, Package_2 # import private/local/custom packages
Примечание:
Я установил Numpy и matplotlib по команде pip install Numpy, matplotlib
.
Я установил Package_1
и Package_2
по команде python setup.py develop
в соответствующем каталоге. Потому что два пакета еще не были созданы и опубликованы Pypi
.
Я попытался создать Package_main
и опубликовать его Pypi
. Но я обнаружил, что после загрузки Package_main
в новой среде и ее использования отображается ошибка:
ModuleNotFoundError: No module named Package_1
Это означает, что мои локальные Package_1
и Package_2
не включены в Package_main
.
Я готов Package_main
опубликовать вместе с Package_1
and Package_2
. Можете ли вы сказать мне, как это сделать? (Я знаю, что один из методов — публиковать Package_1
и Package_2
отдельно Pypi
, а затем использовать их так же, как я использую Numpy
, но я думаю, что этот метод кажется не элегантным, у вас есть какие-либо другие решения?)
Ответ №1:
В идеале для пакета на python требуется __init__.py
файл, который можно квалифицировать как пакет. Учитывая, что вам нужно извлекать данные из одного и того же корня, __init__.py
в вашем корне должен быть элемент, который содержит все необходимые импортные файлы.