在嵌套目录PYTHONPATH中使用脚本的更好方法

时间:2016-02-25 18:26:32

标签: python python-2.7 import importerror pythonpath

很抱歉第二次问自己的问题,但我完全陷入了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文件夹中的所有文件夹执行此操作吗?

1 个答案:

答案 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()