关于python创建项目时的一些基础的概念

文章讲述了在PyCharm中构建Python项目时如何选择和管理解释器,包括纯Python、Django、FastAPI等框架的选择。强调了虚拟环境的重要性,讨论了继承全局site-packages的利弊以及解释器的全局可用性设置。此外,还提到了之前配置过的解释器记录功能,便于快速切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写项目时,通常是,先跑起来,跑起来再说。
很多基础的概念仅仅是知其然而已,
不知道为什么这么写,但这样写是可以跑的(或大家都这么写)(我忘了为啥这么写,但就得这么写),
有感而发,积攒些时间写此文。

今天先写python的,以pycharm为例。

构建项目

新建项目

在这里插入图片描述

要建什么项目

在这里插入图片描述
熟悉编程的人可能知道,左边是长方形的红框内是一些框架,我个人接触比较多的的是vue等前端框架。

Pure Python

意思是纯Python代码,不依赖外部框架,直接用Python编写程序。
优点是轻量级,无需安装额外包,适合小程序。
缺点是没有框架支持,需要自行处理诸如路由、模板、数据库等功能。
适合做一些小工具、脚本、简单的爬虫等。

Django

Python的经典Web框架,拥有众多用户。
基于MVT模式,提供模板、模型、视图、管理后台等功能。
数据库迁移、admin后台非常方便。第三方库丰富。
偏重,对小程序过度设计,存在一定学习成本。
适合中大型网站、内容管理、新闻门户等项目。

FastAPI

最新一代Python Web框架,基于ASGI。
易用性、开发速度和性能表现都非常优秀。
基于Pydantic提供数据验证,使用Type Hints。
自动生成API文档,方便调试。
适合构建高性能、生产可用的RESTful API。
也可用于小型网站应用。
之后的是
Flask - Python的一个微型Web框架,基于Werkzeug和Jinja2,适用于小型项目的开发。
Google App Engine - Google的PaaS平台,可以让开发者轻松地在其上构建和运行Web应用。
Pyramid - Python的一个Web框架,采用模块化和松耦合的设计,适用于大型项目。
Scientific Python - 一系列用于科学计算的Python库,如NumPy,SciPy,Matplotlib等。
Angular CLI - Angular的命令行界面工具,可以方便创建和管理Angular项目。
Bootstrap - 最流行的前端CSS框架,提供了优雅的CSS样式和JavaScript插件。

Pure Python

在这里插入图片描述
Python Interpreter 在PyCharm中构建新项目时的意思是指设置项目使用的Python解释器。
PyCharm让你设置解释器的目的是为了让IDE知道该使用哪个具体的Python环境来运行这个项目的代码。

工具virtualenvpipenvpoetry
虚拟环境创建和管理虚拟环境自动创建虚拟环境自动创建虚拟环境
依赖管理Pipfile和Pipfile.lockpyproject.toml
打包功能支持打包到PyPI
跨平台支持所有平台Windows兼容性问题主流平台
依赖分析可视化依赖图
使用情况常用虚拟环境工具逐渐被poetry取代社区活跃,成为主流最佳实践

Conda提供全面的跨语言环境管理方案,是数据科学领域的首选。其他工具更侧重Python环境和包管理。
以virtualenv 为例

inherit global site-packages

inherit global site-packages
是否让项目的虚拟环境继承全局系统的site-packages。
site-packages是Python用来搜索第三方模块和包的目录。

如果选中该选项:
	项目的虚拟环境会继承系统全局的site-packages。
	项目虚拟环境可以直接使用系统中已安装的第三方库。
	全局安装的库会对项目环境产生影响。
如果不选中该选项:
	项目虚拟环境会独立于全局site-packages。
	需要在项目虚拟环境内单独安装第三方库。
	项目环境和全局系统隔离,不会互相影响。
	通常在开发项目时,不建议选中该选项,而是让项目环境完全隔离。

这样可以避免系统中不同项目的库依赖和版本产生冲突,使每个项目环境保持独立和一致。

Make Available to All Projects

将一个解释器/SDK可供所有项目使用。
当你在PyCharm中配置一个新的Python解释器或SDK时,默认情况下它只能在当前项目中使用。
如果你勾选了 “Make Available to All Projects” 选项,那么这个解释器/SDK就会在IDE的全局范围内可用,可以被所有项目选择使用。

举个例子:

你在项目A中配置了一个Python 3.7的解释器,没有勾选该选项。
则这个解释器只能在项目A中使用。
你在项目B中配置了一个Python 3.8的解释器,并勾选了该选项。
则项目A和项目B都可以选择使用这个Python 3.8解释器。
如果项目C想使用一个全局可用的解释器,可以在项目设置中直接选择,而无需重复配置。
所以,这个选项可以减少重复配置解释器/SDK的工作,将其变为IDE范围内的全局选项。
但同时要注意版本冲突问题。

总之,这个选项可以控制一个解释器/SDK是否对IDE中的所有项目可见和可用。

Previously configured interpreter

之前在该项目中已经配置过的Python解释器。

当在一个PyCharm项目中多次需要配置Python解释器时,IDE会记录下之前配置过的解释器。

然后在重新配置解释器时,可以从"Previously configured interpreter"列表中选择之前用过的解释器,而不需要重新指定路径和详细信息。
这可以简化重复配置相同解释器的过程。

例如:
第一次配置项目时,你选择了Python 3.6 at /usr/bin/python3.6 作为解释器。
后来你切换到了Python 3.7。
此时如果需要重新使用3.6,可以直接从列表中选择"Python 3.6 at /usr/bin/python3.6",而不用手动再找一次路径。
PyCharm会记录这个项目中所有用过的解释器。
所以,这是一种通过记录历史配置来简化重复配置相同解释器的功能。

可以避免每次配置都要手动填写详细信息。
选择一个"Previously configured interpreter"就可以快速切换到之前用过的Python解释器。

Create a main.py welcome script

Create a Python script that provides an entry point to coding in PyCharm
这里是创建一个简单的main.py欢迎脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值