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

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

构建项目

新建项目

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

要建什么项目

关于python创建项目时的一些基础的概念_虚拟环境_02


熟悉编程的人可能知道,左边是长方形的红框内是一些框架,我个人接触比较多的的是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创建项目时的一些基础的概念_虚拟环境_03


Python Interpreter 在PyCharm中构建新项目时的意思是指设置项目使用的Python解释器。

PyCharm让你设置解释器的目的是为了让IDE知道该使用哪个具体的Python环境来运行这个项目的代码。

工具

virtualenv

pipenv

poetry

虚拟环境

创建和管理虚拟环境

自动创建虚拟环境

自动创建虚拟环境

依赖管理


Pipfile和Pipfile.lock

pyproject.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欢迎脚本