PyCharm新建Python项目时的Pure Python与其他模板有什么区别
详细讲解PyCharm新建项目时Pure Python模板与Django、Flask、FastAPI等其他模板的区别,帮助你根据实际需求选择正确的项目模板。
在PyCharm中点击"New Project"后,左侧列表会列出多种项目模板:Pure Python、Django、Flask、FastAPI、Google App Engine等。Pure Python是一个不预设任何框架的通用模板,而其他模板则围绕特定框架自动完成目录结构、依赖安装和运行配置。它们之间的核心区别在于项目初始化时帮你做了多少事。本文从创建过程、生成内容和适用场景三个层面,帮你弄清楚每种模板到底做了什么,以及什么时候该选哪一个。
Pure Python 模板做了什么
选择 Pure Python 后,PyCharm 只做三件事:创建项目目录、配置 Python 解释器(或新建虚拟环境)、在目录下生成一个可选的 main.py 文件。除此之外,不安装任何第三方包,不生成框架配置文件,不预置运行/调试配置。
生成的 main.py 内容非常简单:
def hi():
print("Hi, PyCharm")
if __name__ == "__main__":
hi()
你得到的是一个"干净的白纸"——只有一个空目录加一个解释器,后续的项目结构、依赖管理、打包方式完全由你自己决定。这正是 Pure Python 的设计意图:不替你做任何技术选型。
如果你在创建项目时勾选了"Create a main welcome script",PyCharm 会生成上面那个示例文件并自动配置一条运行配置。如果不勾选,项目目录就是完全空的。
其他模板做了什么
以 Django、Flask、FastAPI 三个最常用的框架模板为例,它们在创建项目时会自动完成一系列操作,而这些操作在 Pure Python 模板中需要手动执行。
Django 模板
选择 Django 后,PyCharm 会在新建的虚拟环境中安装 django 包,然后自动执行 django-admin startproject 命令。这意味着创建完成后,项目目录中已经包含了标准的 Django 目录结构:
my_project/
├── manage.py
├── my_project/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── asgi.py
│ └── wsgi.py
└── venv/
同时,PyCharm 会自动配置 Django 运行/调试配置,在菜单中启用 Django 相关功能(比如 manage.py 任务快捷窗口),并把 settings.py 的路径写入项目设置。你可以直接点击运行按钮启动开发服务器。
创建时还可以选择"Enable Django admin",PyCharm 会在 settings.py 的 INSTALLED_APPS 中添加 django.contrib.admin 并配置对应的 URL。
Flask 模板
Flask 模板会安装 flask 包,然后生成一个包含基本路由的 app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
同时自动配置好 Flask 的运行配置,让你直接运行就能在浏览器中看到结果。相比 Django,Flask 模板生成的文件少得多,但"开箱即能运行"的效果是一样的。如果在创建时勾选了模板引擎(Jinja2),还会额外创建 templates 目录。
FastAPI 模板
FastAPI 模板会安装 fastapi 和 uvicorn 两个包,生成一个包含示例端点的 main.py,并配置 uvicorn 运行配置。生成的代码通常像这样:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
运行配置中会写好 uvicorn main:app --reload 的启动命令,你可以直接运行并在浏览器访问自动生成的 API 文档页面。
图1:Pure Python 与框架模板在新建项目时的操作步骤对比
Pure Python 和框架模板的具体差异
把两者放在一起比较,差异可以归纳为以下几个方面:
| 比较项 | Pure Python | 框架模板(Django / Flask / FastAPI等) |
|---|---|---|
| 自动安装的包 | 无 | 框架本体及其核心依赖 |
| 生成的目录结构 | 空目录(或仅 main.py) | 框架标准目录结构和配置文件 |
| 运行/调试配置 | 仅基本 Python 运行配置 | 框架专用运行配置(如 Django Server) |
| IDE 集成功能 | 通用 Python 支持 | 框架感知(模板补全、URL 跳转等) |
| 创建后能否直接运行 | 只能运行空 main.py | 启动即可看到框架默认页面或 API 文档 |
| 适合的项目类型 | 脚本、库、爬虫、数据处理、自定义结构 | 对应框架的 Web 应用开发 |
一个容易忽略的差异是 IDE 层面的框架感知。用 Django 模板创建的项目,PyCharm 会自动识别 Django 的 ORM 模型、模板语言和 URL 路由,在编写代码时提供智能提示和导航。用 Pure Python 创建的项目,即使后来手动安装了 Django,也需要在 Settings → Languages & Frameworks → Django 中手动启用这些功能,并指定 settings.py 的位置。
图2:Pure Python 与 Django 模板创建后的项目目录内容差异
这些差异带来什么实际影响
选择不同模板的直接影响,不在于项目最终能做什么(技术上完全一样),而在于启动成本和IDE 配合程度。
用框架模板创建项目,相当于 PyCharm 帮你执行了框架的初始化命令,配置好了 IDE 与框架的集成,你不需要查文档就能直接开始写业务代码。而 Pure Python 则要求你自己完成这些步骤,包括安装框架、手动初始化项目结构、在 PyCharm 设置中启用对应框架的支持。
另一个实际影响是项目结构的规范性。Django 模板创建的项目严格遵循 Django 的目录约定,而 Pure Python 项目中手动搭建的 Django 项目可能会遗漏某些约定文件(比如忘记创建 asgi.py),虽然不影响本地开发,但在部署时可能出问题。
图3:适合选择 Pure Python 模板的典型使用场景
如何选择:一个简单的判断方法
选择哪个模板,取决于一个问题:你打算写的项目是否使用 PyCharm 支持的框架?
如果答案是"是"——比如你要开发一个 Django Web 应用、一个 Flask API 服务,或者一个 FastAPI 微服务——直接选对应的框架模板。它帮你省去初始化步骤,更重要的是自动启用了 PyCharm 对该框架的深度集成。
如果答案是"不是"或"还没决定"——比如你要写一个数据处理脚本、开发一个 Python 包、做算法练习,或者打算用 PyCharm 不直接支持的框架(如 Tornado、Sanic)——选 Pure Python。它不会引入任何你不需要的东西。
用 Pure Python 也能做框架项目
选择 Pure Python 模板并不意味着你不能使用框架。区别只在于初始化方式不同。比如在 Pure Python 项目中手动搭建一个 Django 项目,步骤是这样的:
先在 PyCharm 的 Terminal 中安装 Django:
pip install django
然后手动执行初始化命令:
django-admin startproject mysite .
注意末尾的 .,它表示在当前目录创建项目,而不是新建子目录。执行后你会看到和 Django 模板相同的文件结构。
接下来需要在 PyCharm 中手动配置 Django 支持:进入 Settings → Languages & Frameworks → Django,勾选"Enable Django Support",设置 Django project root 为项目根目录,Settings 指向 mysite/settings.py。配置完成后,PyCharm 的 Django 感知功能就会启用。
最后,手动添加运行配置:点击右上角的"Add Configuration",选择"Django Server",指定正确的 settings 文件即可。
这些步骤加起来大约需要两三分钟,效果和使用 Django 模板创建的项目完全一样。所以"Pure Python 和 Django 模板创建的项目"在最终结果上没有差别,差别只在于谁来完成初始化——PyCharm 帮你做,还是你自己做。
几种不太常见的模板
除了 Django、Flask、FastAPI 这三个高频选项外,PyCharm Professional 还提供了其他几种模板:
Google App Engine 模板会生成 App Engine 的标准目录结构,包含 app.yaml 配置文件和一个基本的请求处理模块。它面向需要部署到 Google Cloud 的项目。
Pyramid 模板安装 Pyramid 框架并执行 pcreate 命令生成项目脚手架。Pyramid 在国内使用较少,但在需要高度可定制 Web 框架的场景中有其优势。
这些模板的逻辑和 Django/Flask 完全相同:自动安装依赖 → 执行脚手架命令 → 配置 IDE 集成。只是面向的框架不同而已。
图4:根据项目需求选择合适模板的判断流程
小结
Pure Python 是一张白纸,框架模板是预先画好格子的表格。选择哪个不涉及技术能力的高低,只取决于你的项目是否刚好要用 PyCharm 内置支持的框架。如果是,框架模板在创建那一刻就帮你省掉了初始化和 IDE 配置的工作;如果不是,Pure Python 的"什么都不做"反而是最干净的起点。理解了这层区别,在下次新建项目时就不会犹豫该选哪个了。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













