我有一个使用我制作的DLL的模块。此DLL依赖于第三方提供的另一个DLL。当我加载我的库(使用ctypes)时,操作崩溃,除非它找到第二个DLL。经过大量的搜索,我通过将库的位置添加到PATH来解决了这个问题。
现在我正在使用setuptools将我的模块和DDL打包给其他人。我应该如何处理这种DLL依赖情况?我应该检测安装文件夹并将其添加到setup.py中用户的PATH吗?我应该将库移动到PATH中已有的特定文件夹吗?有通用做法吗?
只是一些注意事项:我拥有并可以分发这两个DLL,我可以对它们进行更改,但我无法合并它们(一个在Fortran中,另一个在C中)。这些库不太可能存在于用户的PC上。目前我在Windows上工作,但我们的想法是提供.so库,因此可以理解(Windows和Linux)的答案。