[英]How to fix “Relative import error” in python (gensim.summarization)
[英]How to fix relative import error in python without code change?
在 python 我有一个包含三个文件的文件夹
- __init__.py
- module.py
- test_module.py
其中模块module.py
被导入到文件test_module.py
中,如下所示:
from . import module
当然,当我运行test_module.py
时,我得到一个错误
> python test_module.py
Traceback (most recent call last):
File "test_module.py", line 4, in <module>
from . import module
ImportError: attempted relative import with no known parent package
但是当我将PYTHONPATH
设置为我工作的绝对路径时
export PYTHONPATH=`pwd`
我希望导入工作(因为我确实设置了PYTHONPATH
)。 但令我惊讶的是,我得到了同样的错误!
那么我可以在不更改任何代码的情况下修复相对导入错误吗?
由于您描述的目录(我们称其为thatdirectory
)是 package,由__init__
文件标记,您可以通过cd
更高的目录“修复”该目录,然后运行
python -m thatdirectory.test_module
因为使用-m
运行模块会修复sys.path
以使此特定配置正常工作。
(一般来说,任何手动与sys.path
或需要更改PYTHONPATH
才能工作的代码在我眼中都被破坏了......)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.