我有一个包含多个子目录的项目,如下所示:
/opt/exampleProject/src
├── __init__.py
├── dir1
│ ├── __init__.py
│ ├── file.py
│ └── file2.py
└── dir2
├── __init__.py
├── file3.py
└── file4.py
我的main.py文件住在这里
/usr/bin/main.py
我想知道导入exampleProject以供main使用的最简洁方法。 fileX.py文件也相互导入,这里还有很多其他内容。我希望能够做到的是将它添加到我的$ PYTHONPATH中,以便main.py可以导入它们。反正有吗?
我一直在考虑将它们全部单独添加。
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
但我希望有一个很好的方法来做到这一点。
答案 0 :(得分:2)
强烈建议不要与sys.path
混淆。 Instead create a package for /opt/exampleProject
by creating a setup.py
.
/opt/exampleProject
├── setup.py
└── src
├── __init__.py
├── dir1
│ ├── __init__.py
│ ├── file.py
│ └── file2.py
└── dir2
├── __init__.py
├── file3.py
└── file4.py
然后使用
安装它pip install -e /opt/exampleProject
完成后,你可以简单地做
import example_project
在任何其他python脚本或包中。