安裝

將套件裝進專案

基本安裝

pip install fastapi
pip install unicorn #搭配的輔助工具uvicorn

參考:https://hackmd.io/@ntust-ossda/HktEgqkwi?utm_source=preview-mode&utm_medium=rec#%E5%AE%89%E8%A3%9D-fastAPI-%E6%A1%86%E6%9E%B6

在混亂的環境下安裝

前情提要

因單位限制只能使用python3.6.5,也就限制了相關套件的使用版本。

理論上使用pip安裝套件,應該會自動選取符合版本限制的套件版本,並連帶檢查已存在的套件與相依套件的版本關係,選取能夠使用的最高版本。

但不知怎的安裝過程有出現版本衝突(因接手的環境中已有現成安裝的套件造成衝突),只能人力檢查相依的版本限制,自己指定安裝版本...

僅此記錄一下,以供pip自動檢核版本失效時取用。

邊安裝邊除錯的過程

#安裝python3.6.5可使用的fastapi版本
pip install fastapi==0.83.0

#依賴物件sniffio
pip install sniffio==1.2.0

#發現超過需求版本的idna
pip install idna==2.6

#發現有用到idna的相關套件anyio需要搭配降版本
pip install anyio==1.3.1
#anyio降板影響到依賴套件starlette(原本0.19.1)
pip install starlette==0.14.2
#starlette降版本導致fastapi也需要降...(原0.83.0需starlette==0.19.1)
pip install fastapi==0.68.2

#依賴版本狀況處理
pip install requests
pip install idna
pip install anyio

#後來發現sqlalchemy有問題需升級
pip install SQLAlchemy==1.4.46

#安裝搭配的輔助工具uvicorn
pip install uvicorn==0.16.0
#uvicorn的依賴物件h11
pip install h11==0.13.0
#uvicorn的依賴物件click
pip install click==8.0.4
#click的依賴物件importlib-metadata
pip install importlib-metadata==4.8.3
#importlib-metadata的依賴物件zipp
pip install zipp==3.6.0
#uvicorn的依賴物件asgiref
pip install asgiref==3.4.1

未來再遇上或許可以試試用poetry管理版本。

Last updated