импортировать два пакета Python с одинаковым именем для использования в одном проекте - PullRequest
0 голосов
/ 05 июля 2019

Я создаю приложение, которое зависит от some_package (что довольно много), установленного через pip или conda.Я хотел бы повторно использовать части some_package непосредственно в приложении;С этой целью я установил some_package, установил его локально и изменил его функциональность по мере необходимости.Приложение теперь зависит от двух (расходящихся) версий одного и того же пакета с одинаковым именем для различных функций.

Как обратиться к pip / conda managed ~/anaconda3/envs/my_env/lib/python3.7/site-packages/some_package/ для внутренней зависимости, иизмененный ~/my_project/dependencies/some_package/ для использования в моем приложении?

Есть несколько вопросов по переполнению стека, но они либо довольно старые, либо не тот же вопрос:

Что я пробовал:

  • conda develop <local package path>: в этом случае пакет сайта не виден и нарушает внутренние зависимости
  • , изменяя имя папки локального пакета и импортируя: существуют внутренние ссылки на имя пакета, которые будут означать переименование везде, и создатьбеспорядок в управлении, если я когда-нибудь захочу вытащить новый код на развилку
  • комментарий, предложенный import some_package as package_dev: это, очевидно, не сработает, поскольку у меня нет возможности ссылаться на оба пакета в первую очередь

В связанных вопросах (и других) есть целый ряд хаков, которые могут сработать, но незаметно сломать систему импорта (перезагрузить, обновить пакеты и т. Д.).Есть ли "питонический" / рекомендуемый способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...