提问人:Simon Bebek 提问时间:10/3/2023 更新时间:10/5/2023 访问量:47
如何从其他文件夹导入依赖项?
How to import dependencies from other folder?
问:
我必须文件夹 A 和 B。文件夹 A 是我的 main.py。在文件夹 B 中,有几个不同脚本的类:B1.py、B2.py、B3.py......
我想从 B1.py 导入一个类。我让它与sys.path.append等一起使用。但问题是 B1.py 脚本从文件夹 B 中的其他脚本导入其他类:
from B2 import classB2 from B3 import classB3
当我尝试在我的 main.py(位于文件夹 A 中)中导入 ClassB1 时,它无法导入类 classB2、classB3 等。我该如何解决这个问题?
我尝试在 B1.py,...中添加 B.B1 和 B.B2 等文件。这有效,但我不应该更改 B 中的代码。
答:
0赞
C L
10/4/2023
#1
一个简洁的方法是创建一个包(打包 python 项目),然后从运行其中文件的目录中。将其安装在本地计算机上。这将允许您像使用任何已安装的模块一样。setup.py
pip install
import
对于一个快速而肮脏的解决方案,您可以将所需模块目录的路径添加到 python 中变量的开头,它会在查找 .sys.path
import
import
B1 中的语句不会以这种方式被破坏。
下面是文件夹 A 中的一个测试用例,其中 B 中的每个模块都导入下一个模块并调用其 hello 函数
import sys
sys.path.insert(1, '/root/projects/learning/B')
import b1
b1.hellob1()
这是输出
# /bin/python3 /root/projects/learning/A/a1.py
Hello World from b1.py
Hello World from b2.py
Hello World from b3.py
评论