这是我的项目结构
Project/
docs/
scripts/
project-2.5/
bin/
program.py
__init__.py
config/
config.ini
tests/
src/
main_program.py
__init__.py
__init__.py
用户应该执行program.py并将选项传递给main_program.py
eg. bin/># python program.py -c ../config/config.ini
program.py
#!/usr/bin/env python
import optparse
from ..src.main_program import main_function
def main():
parser = optparse.OptionParser()
parser.add_option('-c', '--config',
dest="config_file",
default='config.ini'
)
options, remainder = parser.parse_args()
main_function(options)
if __name__ == "__main__":
main()
main_program.py
#!/usr/bin/env
import sys
def main_function(options):
blah blah blah
......
...
..
.
但是我收到了这个错误:
Traceback (most recent call last):
File "./program.py", line 6, in <module>
from ..src.main_program import main_function
ValueError: Attempted relative import in non-package
答案 0 :(得分:1)
__init__.py
文件夹中的src
名称错误。它缺少文件名中的.
。
此外,您的Project/project-2.5/
文件夹也没有__init__.py
。如果您解决了这些问题,它应该可以正常工作。