我正在尝试构建一个 Python 包,其中包含子模块和子包(“库”)。我到处寻找正确的方法来做到这一点,但令人惊讶的是我发现它非常复杂。当然,也经历了 StackOverFlow 中的多个线程。
问题如下:
为了从另一个目录导入模块或包,在我看来有两种选择:添加绝对路径到sys.path. b. 在包的主目录中的文件中安装包含该setuptools.setup函数setup.py的包 - 将包安装到site-packages正在使用的特定 Python 版本的目录中。
选项a对我来说似乎太笨拙了。选项b很棒,但我发现它不切实际,因为我当前正在工作和编辑包的源代码 - 当然,所做的更改不会更新到包的安装目录中。另外,Git 不跟踪包的安装目录,不用说我使用 Git 的原始目录。
总结一下这个问题: 从当前正在构建的 Python 包的子目录中自由、良好地导入模块和子包的最佳实践是什么?
我觉得我错过了一些东西,但到目前为止找不到合适的解决方案。
谢谢!