簡體   English   中英

如何確定 Python 模塊是否在 GAE 上運行?

[英]How do I find out whether a Python module is run on GAE?

我有一個使用 lxml 的模塊。 由於這不能在 GAE 上導入,我想默認使用合適的替代品。 類似於以下內容:

if not ON_GAE:
    import lxml
else:
    import beautifulsoup

如何確定我在 GAE 上? 是否有某種操作系統變量?

更新:某些模塊無法在 GAE 上運行(例如sockets )。 except ImportError ,我不想擁有多個try ... 塊,而是想從一開始就知道哪些代碼塊需要替代實現。

你可以使用這個:

on_app_engine = os.environ.get('SERVER_SOFTWARE', '').startswith('Google')

然后是這樣的:

if on_app_engine:
  import lxml
else:
  import bla

您可以簡單地嘗試查看導入是否引發異常,並僅在必要時使用另一個導入。

try:
    import lxml
except ImportError:
    import beautifulsoup

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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