簡體   English   中英

Fabric加載fabfile作為模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM