Python项目创建全流程指南
wuantov 2025-08-06 23:31 8 浏览
以下是创建 Python 项目的超详细步骤指南,涵盖从环境配置到项目部署的全流程:
一、环境准备
- 安装 Python
O 官网下载:访问 python.org 下载最新稳定版
O 验证安装:终端输入 python --version 或 python3 --version
O (Windows) 勾选 "Add Python to PATH" 确保环境变量配置正确
- 选择开发工具
O 推荐 IDE:
- PyCharm(功能全面)
- VS Code(轻量级,需安装 Python 扩展)
O 文本编辑器:Sublime Text/Atom 等
二、创建项目结构
- 标准目录结构
bash
my_project/
├── src/ # 源代码目录
│ ├── __init__.py # 包初始化文件
│ └── main.py # 主程序入口
├── tests/ # 单元测试目录
├── docs/ # 文档目录
├── requirements.txt # 依赖列表
├── setup.py # 项目安装脚本(可选)
├── README.md # 项目说明文档
├── .gitignore # Git忽略文件配置
└── venv/ # 虚拟环境目录(建议排除在版本控制外)
- 初始化项目
bash
mkdir my_project && cd my_project
mkdir src tests docs
touch src/__init__.py src/main.py
touch requirements.txt README.md
三、配置虚拟环境
- 创建虚拟环境
bash
# 使用 venv(Python 3.3+ 内置)
python -m venv venv
# 或使用 virtualenv
pip install virtualenv
virtualenv venv
- 激活虚拟环境
bash
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
- 退出虚拟环境
bash
deactivate
四、依赖管理
- 安装依赖包
bash
pip install package_name # 安装单个包
pip install -r requirements.txt # 批量安装
- 生成依赖文件
bash
pip freeze > requirements.txt
- 高级依赖管理(推荐)
O 使用 poetry 工具:
bash
pip install poetry
poetry init # 创建 pyproject.toml
poetry add requests # 添加依赖
五、开发规范
- 代码风格
O 遵循 PEP8 规范
O 使用代码检查工具:
bash
pip install flake8 black isort
flake8 src # 代码规范检查
black src # 自动格式化代码
isort src # 自动排序import
- 文档编写
O 使用 docstring:
python
def calculate(a, b):
"""计算两个数的和
Args:
a (int): 第一个数字
b (int): 第二个数字
Returns:
int: 两数之和
"""
return a + b
六、测试与调试
- 单元测试
python
# tests/test_sample.py
import unittest
class TestExample(unittest.TestCase):
def test_addition(self):
self.assertEqual(1+1, 2)
if __name__ == '__main__':
unittest.main()
- 运行测试
bash
# 使用 unittest
python -m unittest discover tests
# 使用 pytest(需安装)
pip install pytest
pytest tests/
七、版本控制
- Git 初始化
bash
git init
echo "venv/" >> .gitignore
echo "__pycache__/" >> .gitignore
git add .
git commit -m "Initial commit"
- 远程仓库
bash
git remote add origin [仓库URL]
git push -u origin main
八、打包发布
- 创建 setup.py
python
from setuptools import setup, find_packages
setup(
name="my_project",
version="0.1",
packages=find_packages(),
install_requires=[
'requests>=2.25.1',
],
)
- 打包命令
bash
pip install wheel setuptools
python setup.py sdist bdist_wheel
- 发布到 PyPI
bash
pip install twine
twine upload dist/*
九、持续集成(进阶)
- 在项目根目录创建 .github/workflows/python.yml
- 配置自动化测试、构建和部署流程
十、项目示例
完整示例项目参考:
bash
git clone https://github.com/example/python-project-template.git
按照这些步骤操作,你可以从零开始规范地创建和维护一个Python项目。建议根据项目复杂度适当调整结构,小型项目可简化目录层级,大型项目可添加更多模块化设计。
相关推荐
- UV 工具深度解析与实践指南
-
一个工具可以替代pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等一、工具概述1.1核心定位UV是由Rust编写的新一代Python生态...
- MCP 官方文档:开发你自己的MCP —— MCP 天气服务
-
一、MCP简介MCP是一个开放协议,它为应用程序向LLM提供上下文的方式进行了标准化。你可以将MCP想象成AI应用程序的USB-C接口。就像USB-C为设备连接各种外设和配件提...
- 一文使你彻底学会FastAPI
-
什么是API?想象一下,你在一家餐馆,你想点一些食物。为了得到你想要的食物,你和服务员交谈,告诉他们你的订单。然后,服务员将您的订单带到厨房,厨师会根据您的要求准备食物。最后,服务员把你的食物带回...
- 手把手教你进行Python虚拟环境配置
-
/1前言/咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下。/2虚拟环境的作用/咱们今天就来说一下Python的虚拟环...
- LangGraph集成DeepSeek实现AI对话
-
本文介绍如何使用AI开源框架LangGraph,集成调用DeepSeek大模型,实现AI对话功能,并给出Python示例代码。一、LangGrap是什么LangGrap:LangGrap是一个用于构...
- 一文带你掌握Python自带venv虚拟环境
-
前边几篇文章,我们介绍了如何使用conda来管理python的虚拟环境。这时可能有人会有疑问,既然这个功能这么有用,那有官方提供的解决方案吗?其实是有的,在python3.3版本及以后,...
- Pytorch详细安装过程
-
1、安装anaconda官网(https://www.anaconda.com/products/distribution#Downloads)下载,使用管理员身份运行(不使用似乎也没事)这里选择Ju...
- Python简介与开发环境搭建详细教程
-
1.1Python简介与开发环境搭建详细教程一、Python语言简介1.Python的核心特点2.Python的应用领域表1.1Python主要应用领域领域典型应用常用库Web开发网站后端D...
- Python开发中的虚拟环境管理
-
Python开发中,虚拟环境管理帮助隔离项目依赖,避免不同项目之间的依赖冲突。虚拟环境的作用隔离依赖:不同项目可能需要不同版本的库,虚拟环境可以为每个项目创建独立的环境。避免全局污染:全局安装的库可...
- Python项目创建全流程指南
-
以下是创建Python项目的超详细步骤指南,涵盖从环境配置到项目部署的全流程:一、环境准备安装PythonO官网下载:访问python.org下载最新稳定版O验证安装:终端输入pyth...
- LangChain开发MCP Server和MCP Client
-
本文介绍了如何通过LangChain实现MCP调用。通过模拟一个简单的算术计算器,基于MCPServer运行,并使用MCPClient进行调用。最终,通过集成DeepSeek大...
- 怎么给虚拟环境安装pdfplumber
-
1.找到虚拟环境激活脚本位置你的虚拟环境在C:\Users\shiqi\PycharmProjects\pythonProject2\.venv路径下,激活脚本Activate.ps1(Pow...
- Python调试器实现断点系统
-
在软件开发过程中,调试是不可或缺的重要环节。断点系统作为调试器的核心功能,允许开发者在程序执行的特定位置暂停程序运行,检查变量状态、分析程序流程,从而快速定位和解决问题。断点系统原理断点系统的实现基于...
- Python从放弃到入门:公众号历史文章爬取为例谈快速学习技能
-
这篇文章不谈江流所专研的营销与运营,而聊一聊技能学习之路,聊一聊Python这门最简单的编程语言该如何学习,我完成的第一个Python项目,将任意公众号的所有历史文章导出成PDF电子书。或许我这个Py...
- 能跑源码,还提供数据集:这里有一个入门企业级验证码识别项目
-
机器之心专栏作者:kerlomz网上关于验证码识别的开源项目众多,但大多是学术型文章或者仅仅是一个测试demo,那么企业级的验证码识别究竟是怎样的呢?1.前言网上关于验证么识别的开源项目众多,但大...
- 一周热门
- 最近发表
- 标签列表
-
- 修改ip地址 (28)
- 静态ip更换 (2)
- 指定ip切换 (12)
- ip库ip切换 (4)
- 淘宝店铺采集 (14)
- 微服务治理 (4)
- phash (7)
- mongo find (24)
- math保留两位小数 (21)
- cmd ip (15)
- 手机网络ip动态 (33)
- 随机更改ip地址 (7)
- drop column (23)
- navicat16 注册机 (25)
- crosscheck archivelog all (3)
- jm资源 (2)
- read by other session (10)
- python gui库 (21)
- 企业微信使用 (31)
- 知识付费源码五网合一 (25)
- 模糊查询sql (6)
- ip地址切换 (24)
- gc buffer busy acquire (7)
- 海外节点 (5)
- pycharm2020.2永久激活 (25)