我使用 VSC 在嵌入式系统中对 Python 进行编程。文件结构对于系统按设计工作至关重要,我无法更改此结构。在下图中,我试图解释我的问题。在那里你会看到带有一些导入的 main.py 文件。我正在导入的文件必须是 SRC 文件夹中的 .py 文件。事实上,如果我使用以下导入结构,它们也可以位于子文件夹中: '''import sub_folder_name.libraryName''' 我正在努力在版本控制中管理它。我可以使用 GIT 存储库将项目的全部内容保存在正确的文件夹中,但是我真的很想在单独的存储库中管理我的库,例如 GIT 子模块或子树。我面临的问题是,如果我使用这些 GIT 工具,它们会坚持将 subs 放在以根目录为父目录的文件夹中。这意味着我的嵌入式系统无法再看到这些库,因为它们出现在它作为根目录(对我们来说是 SRC 文件夹)上方的文件夹中。因此,我正在寻找一种将库与主存储库分开管理的方法,同时将工作 .py 文件保存在 SRC 文件夹中。
我面临的问题是,如果我使用 [
git submodule
或git subtree
],他们坚持将 subs 放在以根目录为父目录的文件夹中。
如果我理解正确,你的意思是你不能这样做:
mkdir src/sub; cd src/sub; git init
创建src/sub
在顶级(主)存储库中命名的子模块,以便您可以在存储库中src/sub/foo.py
命名foo.py
作为子模块的文件。
但这是允许的;Git 可以毫无问题地做到这一点。只是:
mkdir src/sub && cd src/sub && git init
然后在子模块中创建一些文件(也许使用终端或其他运行 bash 的 shell 窗口或其他任何东西来完成所有这些工作):
echo blah blah > README; git add README; git commit -m initial
git branch -m main # optional, if you like the new GitHub names
git remote add origin <url>
git push origin main # or git push origin master
现在返回到主工作树的顶层:
git submodule add <url> src/sub
并且您现在拥有src/sub
作为主存储库的子模块,其中包含.gitmodules
有关如何从给定的<url>
.
(您现在必须处理子模块的所有痛苦和痛苦,这可能不是一个好主意,但这部分取决于您。)
(与所有这些 Git 的东西分开,作为一个通用的 Python 东西,考虑涉及设置$PYTHONPATH
、使用虚拟环境、sys.path
根据需要进行更改等的替代方案。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句