我有一个旧项目(OldProject
)存储在桌面上的某个位置,我已经启动了一个新项目(NewProject
),该项目使用OldProject
中的文件。
这两个项目位于两个完全不同的目录中,OldProject
可以完全独立地存在而没有NewProject
(这意味着我无法将其重构到NewProject
中,因为它将移动目录,我不想要)
现在可以使用OldProject
中NewProject
中的脚本:
NewProject
OldProject
,然后单击“附加”以将其附加到NewProject
OldProject
标记为源根,并将其作为NewProject
的依赖项然后我继续进行开发。
现在,我想在GitHub上共享NewProject
,但是(令我惊讶的是)最初的提交不包含来自OldProject
的任何文件,这意味着对其他任何人都毫无用处。
有没有一种方法可以显式地将OldProject
添加到NewProject
中,而不必复制所有文件并像这样更新两个项目中的import语句?
在OldProject
中使用NewProject
中的脚本时,导入语句类似于:
import old_project_folder
相对于:
import OldProject.old_project_folder
即在IDE中,显示OldProject
和NewProject
在同一位置。
但是,由于import语句不正确,所以我无法在NewProject
之外的PyCharm上运行程序。
我还尝试以编程方式将目录插入驱动程序脚本:
if __name__ == '__main__':
import sys
sys.path.insert(1, path_to_old_project)
run()
但是那没有用。
我尝试将__init__.py
添加到OldProject
使其成为一个模块,但是我有几个目录和子目录,所以我想知道是否有一种方法可以在实现之前达到相同的结果
答案 0 :(得分:1)
(令我惊讶的是)最初的提交未包含OldProject中的任何文件,这意味着对其他任何人都毫无用处。
这是因为OldProject
不在您的git存储库中。您可以找到自己想要的here不合适的解决方案。
对此的正确解决方案是使OldProject
为独立软件包,使其成为NewProject
的依赖项,并通过pip或setuptools安装它。