美文网首页
Windows 下基于 vscode 和 poetry 搭建 F

Windows 下基于 vscode 和 poetry 搭建 F

作者: DeeHY | 来源:发表于2021-12-28 15:27 被阅读0次

    设置 Windows 的默认编码为 UTF-8

    因为 Windows 的中文环境默认编码是 GBK,这会在后面导致一些其他的问题,所以首先需要将操作系统的默认编码设置为 UTF-8

    点击开始菜单,直接输入 control pannel 打开控制面板,选择 时钟和区域-区域,弹窗页面打开管理页面,点击 更改系统区域设置按钮,弹窗页面勾选Beta 版:使用 Unicode UTF-8 提供全球语言支持,完成后系统会提示重启电脑后才能生效,直接点击重启。

    配置 pip

    配置 pip,设置国内镜像,因为 poetry 在下载过程中,会使用到 pip 下载一些安装包,如果不设置安装过程可能会很漫长甚至会失败。这里直接粘贴设置方法:

    Pip的配置文件为用户根目录下的:~/.pip/pip.conf(Windows路径为:C:\Users<UserName>\pip\pip.ini), 您可以配置如下内容:

    [global]
    index-url = https://repo.huaweicloud.com/repository/pypi/simple
    trusted-host = repo.huaweicloud.com
    timeout = 120
    

    安装 poetry

    因为国内网络的关系,导致 poetry 的安装可能比较困难,这里建议将安装的步骤进行拆解。

    • 下载 poetry 的源码
      git clone https://github.com/python-poetry/poetry.git
      
    • 开始安装
      cd poetry
      python install-poetry.py
      
      网络上有一些方法,是去 https://github.com/python-poetry/release 下载安装包后进行本地安装,但是此方法无法生成 poetry.exe 文件,如果使用 pycharm 的最新版本,会无法找到 poetry 的路径,同时手动指定 poetry.cmd 也无效,故不要使用那些方法。

    vscode 安装插件

    vscode 安装 Python Extension Pack

    生成项目

    首先生成项目:

    mkdir -p fastapi
    cd fastapi
    poetry init(会有一些交互问题,基本上直接回车即可)
    

    项目生成后,手动修改 pyproject.toml。将以下内容追加到文件的最后:

    [[tool.poetry.source]]
    name = "aliyun"
    default = true
    url = "https://mirrors.aliyun.com/pypi/simple/"
    

    最后,产生虚拟环境:

    poetry install(此步骤会真正的创建基于 poetry 的虚拟环境)
    

    虚拟环境产生后,在 vscode 中手动选择对应的虚拟环境即可(截至当前,vscode 可以自动识别到 poetry 的虚拟环境目录)。

    Hello world

    fastapi 下建立一个 src 目录用于存储所有的代码。

    src 目录下创建名为 app 的 python 包。同时在此包中创建 main.py 文件。

    最终目录样式如下:

    FastAPIDemo$ tree
    .
    ├── poetry.lock
    ├── pyproject.toml
    └── src
        └── app
            ├── __init__.py
            └── main.py
    

    编辑 main.py 文件,将以下的内容复制进去(文件由 pycharm 自动生成):

    from fastapi import FastAPI
    
    app = FastAPI()
    
    
    @app.get("/")
    async def root():
        return {"message": "Hello World"}
    
    
    @app.get("/hello/{name}")
    async def say_hello(name: str):
        return {"message": f"Hello {name}"}
    

    因为虚拟环境还没有安装依赖,所以首先我们先安装依赖:

    poetry add fastapi uvicorn
    

    安装完毕后,运行以下命令启动服务:

    cd src
    poetry run uvicorn app.main:app --reload
    ## 注释
    # app.                        main:            app
    # 名为 app 的 python 包        main.py          main.py 中的 app = FastAPI()
    

    使用 vscode 的运行和调试功能执行程序

    打开 运行和调试侧边栏,选择新建 launch.json,输入以下内容后保存即可:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Run FastAPI server",
                "type": "python",
                "request": "launch",
                "module": "uvicorn",
                "args": [
                    "app.main:app",
                    "--reload"
                ],
                "cwd": "${workspaceFolder}\\src"
            }
        ]
    }
    

    相关文章

      网友评论

          本文标题:Windows 下基于 vscode 和 poetry 搭建 F

          本文链接:https://www.haomeiwen.com/subject/wyupqrtx.html