[英]Import Variable from root __init__.py in a Python Package
我有一個__init__.py
文件,我在包中聲明了以下內容。
代碼如下:
from __future__ import absolute_import
from __future__ import division
from . import web
IGNORE_SSL_ERRORS = False
我的項目的結構包含許多子級別的軟件包,例如上述稱為web
軟件包。 基本結構如下:
dynamical (root package)
-> __init__.py
-> web
-> __init__.py
-> _func.py
為了方便用戶使用,我希望向個人公開諸如IGNORE_SSL_ERRORS
類的項目級別常量,可以將腳本設置為可在不安全的站點上工作以測試那里的代碼。
我在將變量IGNORE_SSL_ERRORS
導入到_func.py
時遇到問題。
由於它位於軟件包的根目錄下,該如何導入?
from .. import IGNORE_SSL_ERRORS
似乎失敗了。
謝謝
您只需使用sys.path.append()
將根軟件包文件夾添加到sys.path
。
因此,在_func.py
文件中,您可以使用以下命令:
if __name__ == '__main__' and __package__ is None:
from os import sys, path
pth = path.dirname(path.dirname(path.dirname(path.abspath(__file__))))
sys.path.append(pth) # pth is your 'dynamical' folder
from dynamical import IGNORE_SSL_ERRORS
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.