項目模板源碼:
步驟如下:
安裝poetry包管理工具
爲什麼用的是這個,我也不知道…
pip3 install poetry
創建項目
- 執行
poetry new 項目名
創建項目文件夾 - 執行
poetry install
安裝虛擬環境 - 執行
poetry shell
啓動虛擬環境 - 搜索虛擬環境的python位置:
which python
- 將pycharm的settings的python改爲4裏面python的地址
- 修改pyproject.toml裏面的相關信息
完成之後項目結構大概如下:
fastapiStudy
├── README.rst
├── fastapistudy
│ └── __init__.py
├── fastapistudy.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
├── poetry.lock
├── pyproject.toml
└── tests
├── __init__.py
└── test_fastapistudy.py
創建代碼結構
在fastapistudy裏面增加要執行的代碼文件,先創建相關的空殼子(這裏可以按照自己的習慣創建項目結構)
創建完畢之後如下:
.
├── Makefile #這是一個腳本,提供部分代碼格式化、測試等功能,內容請參考之後的源碼
├── README.rst
├── fastapistudy
│ ├── __init__.py
│ ├── apps # 要執行的代碼
│ │ ├── __init__.py
│ │ ├── admin #這是admin後臺管理的代碼,結合plibs使用,plibs提供了基本的增刪改查,這裏提供管理員的額外操作
│ │ │ └── __init__.py
│ │ └── api # 方法
│ │ ├── __init__.py
│ │ └── router #路由,及路由下面綁定的函數
│ │ └── __init__.py
│ ├── common.py #公共包
│ ├── factory.py # 生成fastapi的文件
│ ├── main.py
│ ├── models.py #存儲所有的models
│ └── settings.py #保存需要的設置參數(注意,所有的參數存儲在.env裏面,這裏直接用os.getenv()即可獲取,不要把重要參數保存到代碼裏面
├── fastapistudy.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
├── listeners.py # tortoise-orm的信號處理
├── poetry.lock #鎖定包版本,不可手動改
├── pyproject.toml #配置文件,可以自己手動加
├── serializers.py # 序列化器,類似schema
└── tests
├── __init__.py
└── test_fastapistudy.py
poetry介紹
在項目中使用
poetry init 在現有項目中使用來創建一個pyproject.toml文件
poetry new <項目名字> 使用poetry創建一個新項目
虛擬環境
poetry install 創建虛擬環境(確保當前目錄存在pyproject.toml文件)
poetry shell 激活虛擬環境
包管理
poetry run python -V 查看python版本
poetry add <以來name> 添加包
poetry update 更新所有鎖定版本的依賴
poetry update <依賴name> 更新某個指定的依賴
poetry remove <依賴name> 卸載包
poetry env use python3.7 讓poetry使用python3