【发布时间】:2026-01-01 13:25:02
【问题描述】:
这是我的文件结构。
/working dir
__init__.py
main.py
/packages
__init__.py
snafu.py
/subfolder1
__init__.py
foo.py
/subfolder2
__init__.py
bar.py
/many_more
...
如果我运行main.py,它将尝试导入from subfolder1.foo import something
但是foo.py 会尝试import subfolder2,因为subfolder2 没有找到,所以这不起作用。
进入每个文件并将每个导入语句都更改为from packages.a_subfolder.whatever import something 的工作量太大了
我已经通过将/packages 添加到sys.path 来使其工作,但我不想这样做。有没有办法使用__init__.py 文件来解决这个问题?
将import * 添加到 /packages __init__.py 文件是否有效?
many_more/ 文件夹是我下载的第三方包,因为我在不同的计算机上工作,而不是在我工作的每台计算机上安装包,只使用文件夹中的一个。 例如:要在您的程序中使用 googledrive,您需要大约 10 个不同的软件包才能使其工作。
【问题讨论】:
-
@jonrsharpe 这会起作用,但是我需要将它添加到大约 50 个导入语句中。我需要将它添加到所有 foo.py 和 bar.py 导入语句以及所有其他包中的所有内容中。
-
那么为什么他们一开始就这样写呢?您最近是否重新安排/重组了您的包裹(哇!)?
-
我没有写大部分我只是在使用它们,我更新了问题以解释更多。
-
谁写的?它们是否应该一起使用,如果可以,为什么不将它们放在一个包中?
标签: python