我的工作由核和使用核心多个独立模块的Python应用程序。 我有困难,建立包的相对进口。
app
|- __init__.py
|- core
|- __init__.py
|- corefile.py
|- module1
|- __init__.py
|- main.py
该__init__.py
文件是空的。 我跑的Python 2.7.1。
main.py
from .core import *
运行python main.py
导致ValueError: Attempted relative import in non-package
。
类似的问题: 最终的答案相对蟒蛇进口 , 如何做到相对进口在Python? , 在Python相对进口
谢谢您的帮助。
总之,你只能使用相对进口产品是,自己进口。
例如,如果您有:
$ cat run.py
from app.module1 import main
main.main()
$ python run.py
然后,你可以使用相对导入app/module1/main.py
(虽然这将需要from ..core import foo
,因为core/
是上一级main.py
)。
import sys
abs_filepath = '/home/n/Documents/IMPORTANT/deep_learning/drori_2018/ final_proj/Ryans_branch/StackGAN/'
# insert your absolute filepath above as abs_filepath = '/path/to/targ/dir'
sys.path.append(abs_filepath)
请更正它是否有与执行问题的import
这种方式
其他答案:
另请参阅这里关于正在发生的事情进行彻底的答案。