Python 3 module import error from another folder
本问题已经有最佳答案,请猛点这里访问。
文件夹结构:
1 2 3 4 5 | main |__ sub1 |__ __init__.py |__ sub2 |__ test.py |
我需要在
1 | from .. sub1 import SomeClass |
它显示此错误:
ValueError: attempted relative import beyond top-level package.
感谢您的回复。
这是从主源文件夹之外进行测试的特殊用例。
imho,最好的方法是从主目录开始测试。由于当前目录总是在
1 | from sub1 import SomeClass |
但是,根据您的开发环境,您可能需要直接从测试目录或除main以外的任何目录启动测试。在这种情况下,我不确定这确实是一种最佳实践,我只将其用于我的测试,但一个简单的技巧是将测试文件夹的父文件夹添加到
以下是
1 2 3 4 5 6 7 | import os.path import sys sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__),".."))) from sub1 import SomeClass ... |
就这样:一个只允许从测试文件夹访问主源文件夹的