<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Flask on 冯威的博客</title><link>https://fwhyy.com/tags/flask/</link><description>Recent content in Flask on 冯威的博客</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 07 Jan 2025 20:27:00 +0800</lastBuildDate><atom:link href="https://fwhyy.com/tags/flask/atom.xml" rel="self" type="application/rss+xml"/><item><title>从环境搭建到项目运行：Python 和 Flask 快速上手指南</title><link>https://fwhyy.com/2025/01/from-environment-setup-to-project-execution-a-quick-guide-to-getting-started-with-python-and-flask/</link><pubDate>Tue, 07 Jan 2025 20:27:00 +0800</pubDate><guid>https://fwhyy.com/2025/01/from-environment-setup-to-project-execution-a-quick-guide-to-getting-started-with-python-and-flask/</guid><description>&lt;p&gt;最近在研究 RAG，免不了会使用到 Python，本文简单介绍下 Python 从环境的搭建到运行一个简单的 Web 项目。&lt;/p&gt;
&lt;!-- more --&gt;
&lt;h2 id="环境"&gt;环境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;操作系统：Mac 13.0&lt;/li&gt;
&lt;li&gt;Python：3.11.7&lt;/li&gt;
&lt;li&gt;包管理：poetry1.8.3&lt;/li&gt;
&lt;li&gt;Web 框架：Flask3.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Python 中的包管理工具有 conda、pip、poetry、PyPI 等，Web 框架也有 Django、Flask、FastAPI ，为什么选择的是 poetry 和 Flask 呢？&lt;/p&gt;
&lt;p&gt;因为现在研究的 RAGFlow 的源码中使用的就是 poetry 和 Flask 。带着目的去学习效率会高很多。&lt;/p&gt;
&lt;h2 id="安装"&gt;安装&lt;/h2&gt;
&lt;h3 id="1-安装-python"&gt;1 、安装 Python&lt;/h3&gt;
&lt;p&gt;直接在官网下载安装就可以：https://www.python.org/downloads/，我很早前就安装了，一直没有升级，所以版本还是 3.11.7 。&lt;/p&gt;
&lt;h3 id="2-安装-poetry"&gt;2 、安装 poetry&lt;/h3&gt;
&lt;p&gt;如果你了解过 Python，一定知道 pip，但 pip 在包的依赖管理和版本冲突管理上做的不是很好，而 poetry 就是为了解决这两个问题而生。&lt;/p&gt;
&lt;p&gt;我在本机是使用 pipx 来安装的 poetry ，先使用 homebrew 安装 pipx：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install pipx
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pipx ensurepath
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src="https://img.fwhyy.com/2025/202501061750427.webp" alt="" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;接着使用 pipx 安装 poetry，命令如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pipx 安装 poetry 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src="https://img.fwhyy.com/2025/202501061805738.webp" alt="" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;安装完成后，可以通过以下命令验证 poetry 是否安装成功：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;poetry --version
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;出现下图所示，说明安装成功：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2025/202501061805772.webp" alt="" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;h3 id="3-使用-poetry"&gt;3 、使用 poetry&lt;/h3&gt;
&lt;p&gt;可以使用 poetry 创建一个新的项目:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;poetry new poetry-project
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;也可以在现有项目的目录中初始化 poetry：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cd exist-project
poetry init
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用 poetry 创建的项目目录如下：&lt;/p&gt;
&lt;p&gt;&lt;img src="https://img.fwhyy.com/2025/202501061805758.webp" alt="" loading="lazy" decoding="async"&gt;
&lt;/p&gt;
&lt;p&gt;在 pyproject.toml 文件中进行包版本的管理。这时如果我要给项目添加相关的依赖包，有两种方式：&lt;/p&gt;
&lt;p&gt;直接使用 poetry 命令:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;poetry add six:1.16.0 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用命令安装完成后，pyproject.toml 文件中会自动添加 six = &amp;ldquo;1.16.0&amp;rdquo; ，如下图：&lt;/p&gt;</description></item></channel></rss>