很抱歉第二次问自己的问题,但我完全陷入了import file
的python中。
我的目录结构如下:
|--test/foo.py
|--library #This is my PYTHONPATH
|--|--script1.py
|--|--library_1
|--|--|--script2.py
|--|--library_2
|--|--library_3
我正在library/library_1/script2.py
访问test/foo.py
。
在这里,我对什么是更好的方法感到困惑。通常,所有库文件夹或实用程序功能都应添加到pythonpath
。
这是我维护的文件夹结构,用于区分实用程序功能和测试脚本。
我尝试将__init__.py
放入库和库1&然后像from library1 import script2
一样导入,但错误为No module named script
。
我也尝试将该路径附加到系统路径。
工作:如果我添加pythonpath
之类的其他path/to/library/libray_1/
。那么我应该为library
文件夹中的所有文件夹执行此操作吗?
答案 0 :(得分:0)
以下是您需要做的事情:
|--test/foo.py
|--library #This is my PYTHONPATH
|--__init__.py
|--|--script1.py
|--|--library_1
|--|--|--__init__.py
|--|--|--script2.py
|--|--library_2
|--|--|--__init__.py
|--|--library_3
|--|--|--__init__.py
在你需要做的第一个__init__.py
库中:
import library1
import library2
import script
然后,如果library
是您的python路径,则可以在test/foo.py
内执行此操作而不会出现错误:
import library
library.library1.bar()
library.script.foo()