Python 导入缺少_init的子模块__
我使用以下命令将现有项目作为子模块添加到我的项目中Python 导入缺少_init的子模块__,python,git,python-2.7,Python,Git,Python 2.7,我使用以下命令将现有项目作为子模块添加到我的项目中 git submodule add https://github.com/... 但是,子模块根目录不包含\uuuu init\uuuu.py文件。是否可以从该子模块导入功能而不进行更改 .git模块的内容: [submodule "name"] path = name url = https://github.com/name 您只需获取子模块的内容: git submodule init git submodule update 这会
git submodule add https://github.com/...
但是,子模块根目录不包含\uuuu init\uuuu.py
文件。是否可以从该子模块导入功能而不进行更改
.git模块的内容:
[submodule "name"]
path = name
url = https://github.com/name
您只需获取子模块的内容:
git submodule init
git submodule update
这会将子模块的所有内容签出到子模块文件夹下的工作目录中
但是,子模块根目录不包含init.py文件。是否可以从该子模块导入功能而不进行更改 是的
在这种情况下,必须使用
子树
而不是子模块。子树和子模块之间的主要区别在于子树内容是在根级别管理的,因此您可以使用checkout命令从项目中的任何路径签出任何内容,而在子模块中则无法签出,您需要复制它。我相信解决方案是将子模块添加到项目中,然后在子模块旁边的实际包中添加一个符号链接(或者在任何有意义的地方)
所以你会有
project
- submodule
- package
- setup.py
- my_awesome_script.py
- package (symbolic link to submodule/package)
然后您可以通过符号链接导入它
import package
package.work_your_magic()
来源:我理解这一部分,但它解决不了任何问题。项目通常在根目录中有setup.py,在子目录中有实际的源代码。