[英]Fabric load fabfile as a module
我的fabfile包含相對導入,因此必須將其作為模塊加載。
似乎fab將fabfile作為獨立腳本加載,因此相對導入無法正常工作。
這是我的文件夾結構:
scripts
|-> __init__.py
|-> deployment
|-> __init__.py
|-> fabfile.py
|-> other-module
要調試/測試fabfile,我可以使用以下命令加載它:
python -m scripts.deployment.fabfile
有沒有辦法強制fab工具將fabfile加載為模塊?
為了實現這一點,您需要添加一個scripts/deployment/__main__.py
。
scripts
|-> __init__.py
|-> deployment
|-> __init__.py
|-> __main__.py
|-> fabfile.py
|-> other-module
假設您的scripts/deployment/fabfile.py
名為my_fabric_entry
的入口點函數,您可以從scripts/deployment/__main__.py
調用它,它將成功。
$ cat scripts/deployment/__main__.py
from __future__ import print_function
from .fabfile import my_fabric_entry
print('About to call fabfile.my_fabric_entry()')
my_fabric_entry()
$ python -m scripts.deployment
About to call fabfile.my_fabric_entry()
檢查此答案以獲取更多信息https://stackoverflow.com/a/36320295/977593
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.