PyCharm-将源根添加到GitHub

时间:2020-07-31 22:42:59

标签: python pycharm project

我有一个旧项目(OldProject)存储在桌面上的某个位置,我已经启动了一个新项目(NewProject),该项目使用OldProject中的文件。

这两个项目位于两个完全不同的目录中,OldProject可以完全独立地存在而没有NewProject(这意味着我无法将其重构到NewProject中,因为它将移动目录,我想要)

现在可以使用OldProjectNewProject中的脚本:

  1. 在PyCharm中打开NewProject
  2. 打开OldProject,然后单击“附加”以将其附加到NewProject
  3. 进入项目设置,并将OldProject标记为源根,并将其作为NewProject的依赖项
  4. 在同一菜单中,我将其添加为内容根,以便现在位于项目视图中

然后我继续进行开发。

现在,我想在GitHub上共享NewProject,但是(令我惊讶的是)最初的提交不包含来自OldProject的任何文件,这意味着对其他任何人都毫无用处。

有没有一种方法可以显式地将OldProject添加到NewProject中,而不必复制所有文件并像这样更新两个项目中的import语句?

OldProject中使用NewProject中的脚本时,导入语句类似于:

import old_project_folder

相对于:

import OldProject.old_project_folder

即在IDE中,显示OldProjectNewProject在同一位置。

但是,由于import语句不正确,所以我无法在NewProject之外的PyCharm上运行程序。

我还尝试以编程方式将目录插入驱动程序脚本:

if __name__ == '__main__':
    import sys
    sys.path.insert(1, path_to_old_project)
    run()

但是那没有用。

我尝试将__init__.py添加到OldProject使其成为一个模块,但是我有几个目录和子目录,所以我想知道是否有一种方法可以在实现之前达到相同的结果

1 个答案:

答案 0 :(得分:1)

(令我惊讶的是)最初的提交未包含OldProject中的任何文件,这意味着对其他任何人都毫无用处。

这是因为OldProject不在您的git存储库中。您可以找到自己想要的here不合适的解决方案。

对此的正确解决方案是使OldProject为独立软件包,使其成为NewProject的依赖项,并通过pip或setuptools安装它。