PyCharm - 添加源根到 GitHub
PyCharm - Add Sources Root to GitHub
我有一个旧项目 (OldProject
) 存储在我桌面上的某个位置,我开始了一个新项目 (NewProject
),它使用来自 OldProject
的文件。
这两个项目位于两个完全不同的目录中,OldProject
可以在没有 NewProject
的情况下完全独立存在(这意味着我无法将其重构为 NewProject
,因为它会移动目录,我这样做不是想要的)
现在在 NewProject
中使用来自 OldProject
的脚本:
- 已在 PyCharm
中打开 NewProject
- 打开
OldProject
,然后单击“附加”将其附加到 NewProject
- 进入项目设置并将
OldProject
标记为源根并使其成为 NewProject
的依赖项
- 在同一个菜单中,我将其添加为内容根,因此它现在位于我的项目视图中
然后我继续开发。
现在,我想在 GitHub 上分享 NewProject
,但(令我惊讶的是)初始提交不包含来自 OldProject
的任何文件,这意味着它对其他人来说毫无用处.
有没有一种方法可以显式地将 OldProject
添加到 NewProject
而无需 复制所有文件并更新导入语句(在两者中项目)如此?
在 NewProject
中使用来自 OldProject
的脚本时,导入语句类似于:
import old_project_folder
相对于:
import OldProject.old_project_folder
即在 IDE、OldProject
和 NewProject
中,显示 位于同一位置。
但是,除了 PyCharm,我不能 运行 NewProject
中的程序,因为导入语句不正确。
我也试过以编程方式将目录插入驱动程序脚本:
if __name__ == '__main__':
import sys
sys.path.insert(1, path_to_old_project)
run()
但这并没有奏效。
我试图将 __init__.py
添加到 OldProject
以使其成为一个模块,但我有几个目录和子目录,所以我想知道是否有办法实现相同的结果在继续之前。
(to my surprise) the initial commit did not include any files from OldProject meaning it's quite useless to anyone else.
那是因为 OldProject
不在您的 git 存储库中。你可以找到你想要的不正确的解决方案here。
正确的解决方案是将 OldProject
设为独立包,使其成为 NewProject
的依赖项,然后通过 pip 或 setuptools 安装。
我有一个旧项目 (OldProject
) 存储在我桌面上的某个位置,我开始了一个新项目 (NewProject
),它使用来自 OldProject
的文件。
这两个项目位于两个完全不同的目录中,OldProject
可以在没有 NewProject
的情况下完全独立存在(这意味着我无法将其重构为 NewProject
,因为它会移动目录,我这样做不是想要的)
现在在 NewProject
中使用来自 OldProject
的脚本:
- 已在 PyCharm 中打开
- 打开
OldProject
,然后单击“附加”将其附加到NewProject
- 进入项目设置并将
OldProject
标记为源根并使其成为NewProject
的依赖项
- 在同一个菜单中,我将其添加为内容根,因此它现在位于我的项目视图中
NewProject
然后我继续开发。
现在,我想在 GitHub 上分享 NewProject
,但(令我惊讶的是)初始提交不包含来自 OldProject
的任何文件,这意味着它对其他人来说毫无用处.
有没有一种方法可以显式地将 OldProject
添加到 NewProject
而无需 复制所有文件并更新导入语句(在两者中项目)如此?
在 NewProject
中使用来自 OldProject
的脚本时,导入语句类似于:
import old_project_folder
相对于:
import OldProject.old_project_folder
即在 IDE、OldProject
和 NewProject
中,显示 位于同一位置。
但是,除了 PyCharm,我不能 运行 NewProject
中的程序,因为导入语句不正确。
我也试过以编程方式将目录插入驱动程序脚本:
if __name__ == '__main__':
import sys
sys.path.insert(1, path_to_old_project)
run()
但这并没有奏效。
我试图将 __init__.py
添加到 OldProject
以使其成为一个模块,但我有几个目录和子目录,所以我想知道是否有办法实现相同的结果在继续之前。
(to my surprise) the initial commit did not include any files from OldProject meaning it's quite useless to anyone else.
那是因为 OldProject
不在您的 git 存储库中。你可以找到你想要的不正确的解决方案here。
正确的解决方案是将 OldProject
设为独立包,使其成为 NewProject
的依赖项,然后通过 pip 或 setuptools 安装。