如何从Python中的另一个项目导入模块?

时间:2019-05-28 09:31:43

标签: python python-3.x

我正在尝试为新项目引用旧项目模块,是否有任何可能的方法可以轻松地引用该模块。

project1/
    folder1/
        main.py
        secondary.py-----------
    folder2/                  |
        test.py               |
                              |
project2/                     |
    folder1/                  | 
        main1.py              |
            <------------------

因为,我尝试添加路径,

我无法导入

import sys
sys.path.append('project1/folder1/secondary.py')


from project.folder1 import seconday

or someother formats

2 个答案:

答案 0 :(得分:0)

请勿将Python 文件附加到路径中,而应将整个 package 所在的路径附加到路径中。例如,如果两个项目都位于projects文件夹如下:

~/Documents/projects/project1/
~/Documents/projects/project2/

现在您可以这样做:

sys.path.append('~/Documents/projects')
from project1.folder1 import secondary

您还可以提供相对路径并使用sys.path.abspath()进行转换:

sys.path.append(sys.path.abspath('../..'))

答案 1 :(得分:-2)

看看this blog,这可以帮助您了解导入情况

如果您在绝对导入方面遇到麻烦,请尝试使用相对导入,这里是相对导入的一个例子(请注意包装前的“ ..”):

from ..subpackage4.module5 import function6