如何使用复杂的目录结构PYTHONPATH?
问题描述
考虑以下文件目录结构:
project
| django_project
| | __init__.py
| | django_app1
| | | __init__.py
| | | utils
| | | | __init__.py
| | | | bar1.py
| | | | ...
| | | ...
| | django_app2
| | | __init__.py
| | | bar2.py
| | | ...
| | ...
| scripts
| | __init__.py
| | foo.py
| | ...
如何在foo.py中使用sys.path.append,以便可以使用bar1.py和bar2.py?
导入会是什么样子?
解决方案
出于可移植性的原因,使用相对路径要好得多。
在foo.py
脚本的顶部添加以下内容:
import os, sys
PROJECT_ROOT = os.path.join(os.path.realpath(os.path.dirname(__file__)), os.pardir)
sys.path.append(PROJECT_ROOT)
# Now you can import from the django_project package
from django_project.django_app1.utils import bar1
from django_project.django_app2 import bar2
相关文章