Python: 如何从子目录导入包
Python: How to import package from subdirectory
我有以下项目结构:
Project/
|-- src/
| |-- package/
| |-- __init__.py
| |-- a.py
| |-- b.py
|
|-- tests/
|-- test_a.py
我的 __init__.py
文件看起来像这样
from .a import some_function
from .b import SOME_CONSTANT
但是现在我想运行下面的代码在test_a.py
:
import package
package.some_function()
只要它位于 src/
目录中,一切正常,我可以访问我的包中定义的所有导入。但我希望它位于 tests/
目录中。
当查看 flask repo I found that thex do it like that. For example, flasks test_appctx.py
正是这样做的:
import flask
flask.do_something()
如何在我的项目中实现这一点?
您应该将 src/
添加到查找函数的文件夹中:
import sys
sys.path.append('../src')
我有以下项目结构:
Project/
|-- src/
| |-- package/
| |-- __init__.py
| |-- a.py
| |-- b.py
|
|-- tests/
|-- test_a.py
我的 __init__.py
文件看起来像这样
from .a import some_function
from .b import SOME_CONSTANT
但是现在我想运行下面的代码在test_a.py
:
import package
package.some_function()
只要它位于 src/
目录中,一切正常,我可以访问我的包中定义的所有导入。但我希望它位于 tests/
目录中。
当查看 flask repo I found that thex do it like that. For example, flasks test_appctx.py 正是这样做的:
import flask
flask.do_something()
如何在我的项目中实现这一点?
您应该将 src/
添加到查找函数的文件夹中:
import sys
sys.path.append('../src')