Я создал пакет python с зависимостью, которую не удается установить с помощью pip из-за отсутствия некоторых колес и кода, отличного от Python (требуется компилятор Microsoft Visuals). Другие зависимости обычно устанавливаются с помощью pip.
проблемная зависимость (geopandas->pyproj) используется только в части моего пакета, поэтому мне было интересно, могу ли я разрешить пользователю устанавливать мой пакет с помощью pip со всеми функциями, кроме функций, требующих зависимости. Если пользователь хочет использовать функции в пакете, для которого требуется зависимость, его можно просто установить в дополнение к моему пакету, что обеспечивает большую гибкость (используйте pip, conda, compile и т. д.):
pip install mypackage
conda install dependency
а потом
import mypackage
import dependency
bar = mypackage.function_that_requires_dependency(foo)
Если пользователь не может установить зависимость, он все равно может использовать все части моего пакета, которые на нее не полагаются.
pip install mypackage
а потом
import mypackage
bar = mypackage.function_that_does_not_require_dependency(foo)
Есть ли способ сделать это? В настоящее время все мои импорты находятся в начале моего файла init.py.