- 安装python及其python依赖类库,通常mac系统会自带python,没有可以通过homebrew进行python的安装。
- python项目需要在venv虚拟环境里面运行,并需要根据项目生成组件import文件或者逐一引入对应的组件。
- 通过git下载基于fastapi类库的python项目,注意下载的时候ide会自动生成对应的虚拟环境,需要激活并进入虚拟环境进行依赖类库的安装和python的启动。若ide没有自动生成可以通过命令行自己生成。需要注意的是ide生成的虚拟环境可能和当前mac中安装的python版本不一致出现包冲突(此时需要删除ide自动生成的虚拟环境,通过命令行通过系统自己生成即可)。
cd 项目根目录 //到项目的根目录
python3 -m venv venv //python生成项目虚拟环境
source venv/bin/activate //激活并进入虚拟环境
pip install -r requirements.txt //通过pip安装项目所有的依赖
pip install request //单个安装组件 request是python的接口请求组件
python3 main.py //运行python的main文件 启动服务
ctrl + c //退出服务
启动服务后在浏览器通过:http://ip:8081/v2/接口地址 访问即可。
- 安装项目所有依赖的时候由于当前mac没有安装rust包管理所以出现下面异常:
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 选择时默认即可
export PATH="$HOME/.cargo/bin:$PATH" //配置对应的路径到path文件
rustc --version //查看rust的版本号
cargo --version //查看cargo的版本号
- python3.13版本运行提示没有distutils模块:distutils模块是python的标准库,理论上安装后就能够直接使用,奇怪的是在3.13版本的mac python上运行提示没有这个库(涉及到这个库的是aioredis)。解决办法是通过:安装这个组件pip install setuptools
可以附带安装这个组件,setuptools组件依赖于distutils组件,安装的同时将其安装上了。 -
运行项目时候提示Server_ip异常:
运行异常解决方法:在conf.toml(项目配置文件)中添加配置SERVER_IP="127.0.0.1" # 这里注意要修改成内网地址即可解决问题,配置文件注意其语法:
//其语法:可以将其看作是二维数组:app_name直接访问,下面的db_port则属于database,访问需要先通过database再访问db_port
APP_NAME=""
APP_KEY=""
APP_DEBUG=true
APP_PORT=8081
API_BASE='/v2'
SERVER_IP="127.0.0.1" # 这里注意要修改成内网地址
# 数据库配置
[database]
# 基本配置
DRIVER="mysql"
DB_HOST=""
DB_PORT=3306