从外部目录导入python库

2024-10-03 17:19:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试导入已开发的python文件。最初,当所有文件都在同一个目录中时,我发现它们没有问题。但是,我决定将项目拆分到专用目录。之后,我无法再导入文件

我的文件结构类似于以下内容:

dirFoo\
    mainFoo1.py
dirFoo\
    mainFoo2.py
dirFooCommon\
    commonFoo.py
    commonFoo2.py

最初,我试图更改mainFoo1.py的导入路径,并执行以下操作: 从dirFooCommon import commonFoo。但是,这种方法给了我以下错误: ModuleNotFoundError:没有名为“common”的模块

除此之外,我尝试使用imp.load_source,这似乎是有效的。不幸的是,这产生了如此多的问题。例如,如果某些commonFoo.py库必须包含其他库,该怎么办?在这种情况下,它们中的每一个都需要使用绝对项目路径,当我尝试在任何其他地方使用公共库时,这将是一个问题

你知道我应该怎么做才能将我的公共库包含到我的主要项目中吗


Tags: 文件项目方法pyimport路径目录结构
1条回答
网友
1楼 · 发布于 2024-10-03 17:19:34

您可以使用此文件夹结构来正确调用每个包和模块

dirFoo\  <=== This is a package know 
    __init__.py 
    mainFoo1.py
dirFoo2\  <==== Change the name or you will have namespace issue
    __init__.py
    mainFoo2.py
dirFooCommon\ <=== This is a package know 
    __init__.py
    commonFoo.py
    commonFoo2.py

所以在mainFoo1.py中,您可以这样调用commonFoo.py

import sys
sys.path.append("/path/to/dirFooCommon")

from dirFooCommon import commonFoo

要替换sys.path.append,您还可以将文件夹添加到PYTHONPATH

相关问题 更多 >