Python 在同一根文件夹中创建可编辑的包setup.py作为u_init___;u.py

Python 在同一根文件夹中创建可编辑的包setup.py作为u_init___;u.py,python,setuptools,setup.py,Python,Setuptools,Setup.py,现有项目的设置方式是,存储库在根文件夹中有一个\uuuu init\uuuuu.py。我想在存储库中创建一个setup.py,这样就可以得到项目结构: project-master/ ├── __init__.py ├── setup.py └── submodule1 ├── code.py └── __init__.py └── submodule2 ├── code.py └── __init__.py 你应该能够: git clone project.u

现有项目的设置方式是,存储库在根文件夹中有一个
\uuuu init\uuuuu.py
。我想在存储库中创建一个
setup.py
,这样就可以得到项目结构:

project-master/
├── __init__.py
├── setup.py
└── submodule1
    ├── code.py
    └── __init__.py
└── submodule2
    ├── code.py
    └── __init__.py
你应该能够:

git clone project.url
cd project-master
pip install -e .
from project.submodule1 import ...
我尝试了一种黑客解决方案,临时复制子文件夹中的内容,以便
setup.py
比软件包文件夹高一级,然后从那里安装。如果我
pip安装,这很好。
但不幸的是,此解决方案在可编辑模式下不起作用,因为我在安装后删除了临时文件夹


问题:创建一个正确的
setup.py
的正确方法是什么,它可以在可编辑模式下工作,并与包的
\uuuu init\uuuuuuuuuuuuuuuuuuuuuupy
位于同一根文件夹中?

对于可编辑安装来说,这似乎是不可能的。据我所知,最接近的方法如下:

project-master/
├── __init__.py
├── setup.py
└── submodule1
    └── __init__.py

更新


有关如何在可编辑或开发模式下使用此类项目的想法,请参见以下内容:

似乎无法将此类项目安装为可编辑。@sinoroc,是的,我得出了相同的结论。主要问题之一在于项目名称中的破折号。在Python打包领域中,有时可以使用下划线
\uu
而不是破折号
-
#!/usr/bin/env python3
import setuptools
setuptools.setup(
    name='ProjectMaster',
    version='0.0.0.dev0',
    packages=['project', 'project.submodule'],
    package_dir={
        'project': '.',
        'project.submodule': './submodule1',
    },
)