我正在构建一个依赖于some_package
或pip
安装的conda
(相当大)的应用程序。我想直接在应用程序中重用some_package
的一部分;为此,我分叉了some_package
,将其安装在本地,并根据需要修改了其功能。现在,该应用程序依赖于同一个名称相同的软件包的两个(不同的)版本,以实现不同的功能。
对于内部依赖性,如何引用pip
/ conda
托管的~/anaconda3/envs/my_env/lib/python3.7/site-packages/some_package/
,并在应用程序中使用修改后的~/my_project/dependencies/some_package/
?
关于堆栈溢出有几个问题,但是它们要么很旧,要么就不是一个相同的问题:
Python: Two packages with the same name; how do you specify which is loaded?
Is it possible to use two Python packages with the same name?
Importing from builtin library when module with same name exists
我尝试过的事情:
conda develop <local package path>
:在这种情况下,站点包不可见并破坏了内部依赖性import some_package as package_dev
:这显然不起作用,因为我无法一开始就同时引用这两个软件包在链接的问题(及其他问题)中,有许多破解方法可以工作,但会以微妙的方式破坏导入系统(重新加载,更新软件包等)。是否有一种“ pythonic” /推荐的方式来实现这一目标?