mac部署基于fastapi類庫(kù)的python api項(xiàng)目

  1. 安裝python及其python依賴類庫(kù),通常mac系統(tǒng)會(huì)自帶python,沒(méi)有可以通過(guò)homebrew進(jìn)行python的安裝。
    • python項(xiàng)目需要在venv虛擬環(huán)境里面運(yùn)行,并需要根據(jù)項(xiàng)目生成組件import文件或者逐一引入對(duì)應(yīng)的組件。
    • 通過(guò)git下載基于fastapi類庫(kù)的python項(xiàng)目,注意下載的時(shí)候ide會(huì)自動(dòng)生成對(duì)應(yīng)的虛擬環(huán)境,需要激活并進(jìn)入虛擬環(huán)境進(jìn)行依賴類庫(kù)的安裝和python的啟動(dòng)。若ide沒(méi)有自動(dòng)生成可以通過(guò)命令行自己生成。需要注意的是ide生成的虛擬環(huán)境可能和當(dāng)前mac中安裝的python版本不一致出現(xiàn)包沖突(此時(shí)需要?jiǎng)h除ide自動(dòng)生成的虛擬環(huán)境,通過(guò)命令行通過(guò)系統(tǒng)自己生成即可)。
 cd 項(xiàng)目根目錄    //到項(xiàng)目的根目錄
 python3 -m venv venv  //python生成項(xiàng)目虛擬環(huán)境
 source venv/bin/activate  //激活并進(jìn)入虛擬環(huán)境
 pip install -r requirements.txt  //通過(guò)pip安裝項(xiàng)目所有的依賴
 pip install request  //單個(gè)安裝組件 request是python的接口請(qǐng)求組件
 python3 main.py  //運(yùn)行python的main文件 啟動(dòng)服務(wù)
 ctrl + c //退出服務(wù)

啟動(dòng)服務(wù)后在瀏覽器通過(guò):http://ip:8081/v2/接口地址 訪問(wèn)即可。

  1. 安裝項(xiàng)目所有依賴的時(shí)候由于當(dāng)前mac沒(méi)有安裝rust包管理所以出現(xiàn)下面異常:
error: subprocess-exited-with-error
  
  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      
      Cargo, the Rust package manager, is not installed or is not on PATH.
      This package requires Rust and Cargo to compile extensions. Install it through
      the system's package manager or via https://rustup.rs/
      
      Checking for Rust toolchain....
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.

[notice] A new release of pip is available: 24.3.1 -> 25.0.1
[notice] To update, run: pip install --upgrade pip
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

下面整理mac安裝rust和cargo的方法:

brew install rustup-init  //安裝Rustup
rustup-init                     //初始化Rustup并安裝Rust和Cargo 選擇時(shí)默認(rèn)即可
export PATH="$HOME/.cargo/bin:$PATH"  //配置對(duì)應(yīng)的路徑到path文件
rustc --version  //查看rust的版本號(hào)
cargo --version //查看cargo的版本號(hào)
  1. python3.13版本運(yùn)行提示沒(méi)有distutils模塊:distutils模塊是python的標(biāo)準(zhǔn)庫(kù),理論上安裝后就能夠直接使用,奇怪的是在3.13版本的mac python上運(yùn)行提示沒(méi)有這個(gè)庫(kù)(涉及到這個(gè)庫(kù)的是aioredis)。解決辦法是通過(guò):安裝這個(gè)組件pip install setuptools
    可以附帶安裝這個(gè)組件,setuptools組件依賴于distutils組件,安裝的同時(shí)將其安裝上了。
  2. 運(yùn)行項(xiàng)目時(shí)候提示Server_ip異常:


    運(yùn)行異常

    解決方法:在conf.toml(項(xiàng)目配置文件)中添加配置SERVER_IP="127.0.0.1" # 這里注意要修改成內(nèi)網(wǎng)地址即可解決問(wèn)題,配置文件注意其語(yǔ)法:

 //其語(yǔ)法:可以將其看作是二維數(shù)組:app_name直接訪問(wèn),下面的db_port則屬于database,訪問(wèn)需要先通過(guò)database再訪問(wèn)db_port
APP_NAME=""
APP_KEY=""
APP_DEBUG=true
APP_PORT=8081
API_BASE='/v2'
SERVER_IP="127.0.0.1"       #  這里注意要修改成內(nèi)網(wǎng)地址
# 數(shù)據(jù)庫(kù)配置
[database]
# 基本配置
DRIVER="mysql"
DB_HOST=""
DB_PORT=3306
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容