2026/3/31 16:09:29
网站建设
项目流程
网站后台编辑器无法显示,华为荣耀手机商城官方网站,做一个公司的网站应做哪些准备工作,网站空间文件夹Python 项目文件组织与工程化实践项目结构设计采用模块化结构是 Python 项目工程化的核心。典型结构如下#xff1a;project_name/
├── src/ # 主代码目录
│ ├── module1/ # 功能模块
│ ├── module2/
│ └── __init__.py …Python 项目文件组织与工程化实践项目结构设计采用模块化结构是 Python 项目工程化的核心。典型结构如下project_name/ ├── src/ # 主代码目录 │ ├── module1/ # 功能模块 │ ├── module2/ │ └── __init__.py # 包初始化文件 ├── tests/ # 单元测试 ├── docs/ # 文档 ├── scripts/ # 辅助脚本 ├── requirements.txt # 依赖列表 └── setup.py # 打包配置src 目录存放核心代码tests 目录与 src 保持平行结构。每个功能模块应有自己的子目录和init.py 文件。依赖管理使用虚拟环境隔离项目依赖python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows通过 requirements.txt 记录依赖flask2.0.1 pytest6.0.0对于复杂项目建议使用 poetry 或 pipenv 管理依赖poetry add pandas # 自动更新pyproject.toml测试框架集成pytest 是当前主流测试框架。测试文件应以 test_ 开头# tests/test_module1.py def test_function(): assert 1 1 2配置 pytest.ini 文件规范测试行为[pytest] python_files test_*.py norecursedirs .* venv文档生成使用 Sphinx 生成专业文档。通过 docstring 编写模块级文档模块说明 详细描述模块功能和实现细节 def func(param): 函数说明 :param param: 参数说明 :return: 返回值说明 运行 sphinx-quickstart 初始化文档项目生成 HTML 格式文档。持续集成配置 GitHub Actions 实现自动化测试# .github/workflows/test.yml name: Tests on: [push] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkoutv2 - run: pip install -r requirements.txt - run: pytest打包发布使用 setuptools 配置 setup.pyfrom setuptools import setup, find_packages setup( nameproject, version0.1, packagesfind_packages(wheresrc), package_dir{: src}, )构建分发包python setup.py sdist bdist_wheel twine upload dist/*代码质量控制配置 pre-commit 钩子自动检查代码# .pre-commit-config.yaml repos: - repo: https://github.com/psf/black rev: 22.3.0 hooks: - id: black集成 flake8 进行风格检查# .flake8 [flake8] max-line-length 88 exclude .venv日志管理采用结构化日志配置import logging logging.basicConfig( levellogging.INFO, format%(asctime)s - %(name)s - %(levelname)s - %(message)s ) logger logging.getLogger(__name__)对于生产环境建议使用 JSON 格式日志from pythonjsonlogger import jsonlogger handler logging.StreamHandler() handler.setFormatter(jsonlogger.JsonFormatter()) logger.addHandler(handler)