亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤:“urljoin”的類型變量“AnyStr”的值在 mypy 中不能是

錯誤:“urljoin”的類型變量“AnyStr”的值在 mypy 中不能是

藍山帝景 2022-10-25 10:37:41
我有這樣的聲明:import osfrom urllib.parse import urljoinES_SEARCH_URL = urljoin(base=os.getenv("ELASTICSEARCH_URL"), url="index/_search")我嘗試為 提供多種類型ES_SEARCH_URL,但每當我運行 mypy.error: Value of type variable "AnyStr" of "urljoin" cannot be "Optional[str]"到目前為止我嘗試過的選項:from typing import Optional, AnyStr, UnionES_SEARCH_URL: Union[str, None] = urljoin(base=os.getenv("ELASTICSEARCH_URL"), url="index/_search")ES_SEARCH_URL: Optional[str] = urljoin(base=os.getenv("ELASTICSEARCH_URL"), url="index/_search")ES_SEARCH_URL: Optional[AnyStr] = urljoin(base=os.getenv("ELASTICSEARCH_URL"), url="index/_search")如何解決此錯誤?請幫忙。Python版本:Python 3.8
查看完整描述

1 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

由于os.getenvcan return Nonemypy 無法知道它是字符串值還是None.


嘗試給它一個默認值:


os.getenv("ELASTICSEARCH_URL", default="http://some.url.example.com/")

或處理None此案:


base_url = os.getenv("ELASTICSEARCH_URL")

if base_url is None:

  # handle here

ES_SEARCH_URL = urljoin(base=base_url, url="index/_search")


查看完整回答
反對 回復 2022-10-25
  • 1 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號