我有一个 Git 存储库克隆到myproject中,__init__.py在存储库的根目录下,使整个东西成为一个可导入的 Python 包。
我正在尝试为包编写一个 setuptools ,它也将位于存储库的根目录中,位于文件setup.py旁边。__init__.py我想setup.py将它所在的目录安装为一个包。如果 setup.py 本身作为安装的一部分出现很好,但如果没有它会更好。理想情况下,这也应该在可编辑模式下工作 ( pip install -e .)
是否完全支持此配置?我可以通过一个package_dir= {"": ".."},参数来让它工作setup(),告诉它myproject在当前目录上方的目录中查找。但是,这要求软件包始终从名为 的目录安装myproject,例如,如果它是通过 安装的pip,或者如果有人正在使用名为 的 Git 克隆myproject-dev,或者在任何其他案例。
我正在考虑的另一个技巧是在存储库中.命名的符号链接mypackage。这应该可行,但我想先检查是否有更好的方法。