【问题标题】:PyCharm - Add Sources Root to GitHubPyCharm - 将 Sources Root 添加到 GitHub
【发布时间】:2020-07-31 22:42:59
【问题描述】:

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

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

现在在NewProject 中使用来自OldProject 的脚本:

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

然后我继续开发。

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

有没有办法可以将OldProject 显式添加到NewProject 不必复制所有文件并更新导入语句(在两个项目中)?

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

import old_project_folder

相对于:

import OldProject.old_project_folder

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

但是,我无法在 PyCharm 以外的任何地方运行 NewProject 中的程序,因为导入语句不正确。

我也尝试过以编程方式将目录插入到驱动程序脚本中:

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

但这并没有奏效。

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

【问题讨论】:

    标签: python pycharm project


    【解决方案1】:

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

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

    解决这个问题的正确方法是把OldProject做成一个独立的包,让它成为NewProject的依赖,然后通过pip或者setuptools安装。

    【讨论】:

    猜你喜欢
    • 2017-09-03
    • 2013-01-25
    • 2019-01-09
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2014-01-10
    相关资源
    最近更新 更多