在开始一个新的 Python 项目时,我们总是需要重复以下操作:
- 创建项目文件夹
- 初始化 Git 仓库
- 创建虚拟环境
- 安装依赖
- 写
.gitignore
- 生成
requirements.txt
如果你也觉得这些步骤很繁琐,不妨试试本文提供的“三合一”项目初始化脚本包,一条命令,快速启动你的项目!
- Shell 脚本:适合 macOS / Linux 系统
- Windows BAT 脚本:适合在 cmd 或 PowerShell 中使用
- 跨平台 Python 脚本:适用于所有系统,便于扩展
---
## 🚀 1. Shell 脚本版本(适用于 macOS / Linux)
保存为 `init_project.sh`:
```bash
#!/bin/bash
# 用法: ./init_project.sh my_project_name
PROJECT_NAME=$1
if [ -z "$PROJECT_NAME" ]; then
echo "❌ 请提供项目名称: ./init_project.sh my_project"
exit 1
fi
echo "🚀 正在初始化项目: $PROJECT_NAME"
# 创建项目目录
mkdir $PROJECT_NAME
cd $PROJECT_NAME
# 初始化 Git 仓库
git init
echo "# $PROJECT_NAME" > README.md
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 创建基本目录
mkdir src tests
# 添加 .gitignore
cat <<EOL > .gitignore
venv/
__pycache__/
*.pyc
.DS_Store
EOL
# 安装常用依赖
pip install requests
# 生成 requirements.txt
pip freeze > requirements.txt
# 初始提交
git add .
git commit -m "Initial project setup"
echo "✅ 项目初始化完成!"
运行方法:
chmod +x init_project.sh
./init_project.sh my_project
🪟 2. Windows 批处理脚本(.bat)
保存为 init_project.bat
:
@echo off
SET PROJECT_NAME=%1
IF "%PROJECT_NAME%"=="" (
echo ❌ 请提供项目名称: init_project.bat my_project
exit /b 1
)
echo 🚀 正在初始化项目: %PROJECT_NAME%
mkdir %PROJECT_NAME%
cd %PROJECT_NAME%
git init
echo # %PROJECT_NAME% > README.md
python -m venv venv
call venv\Scripts\activate.bat
mkdir src
mkdir tests
(
echo venv/
echo __pycache__/
echo *.pyc
echo .DS_Store
) > .gitignore
pip install requests
pip freeze > requirements.txt
git add .
git commit -m "Initial project setup"
echo ✅ 项目初始化完成!
运行方法:
init_project.bat my_project
💡 需要在命令提示符或 PowerShell 中运行。
🐍 3. 跨平台 Python 脚本
保存为 init_project.py
:
import os
import sys
import subprocess
def run(command, shell=True):
print(f"▶️ {command}")
subprocess.run(command, shell=shell, check=True)
def create_project(project_name):
os.makedirs(project_name, exist_ok=True)
os.chdir(project_name)
print(f"🚀 初始化项目:{project_name}")
# 初始化 Git 仓库
run("git init")
with open("README.md", "w") as f:
f.write(f"# {project_name}\n")
# 创建虚拟环境
run("python -m venv venv")
# 激活虚拟环境后用 pip 安装
pip_executable = "venv\\Scripts\\pip.exe" if os.name == "nt" else "venv/bin/pip"
os.makedirs("src", exist_ok=True)
os.makedirs("tests", exist_ok=True)
# 写入 .gitignore
with open(".gitignore", "w") as f:
f.write("venv/\n__pycache__/\n*.pyc\n.DS_Store\n")
# 安装依赖
run(f"{pip_executable} install requests")
# 冻结依赖
run(f"{pip_executable} freeze > requirements.txt")
# Git 提交
run("git add .")
run('git commit -m "Initial project setup"')
print("✅ 项目初始化完成!")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("❌ 用法: python init_project.py your_project_name")
sys.exit(1)
create_project(sys.argv[1])
运行方法:
python init_project.py your_project_name
📁 初始化后的项目结构
无论使用哪种脚本,你都会得到如下结构:
your_project_name/
├── README.md
├── .gitignore
├── requirements.txt
├── venv/
├── src/
└── tests/
🧩 可以做的扩展
- 添加
pyproject.toml
或setup.py
- 支持选择依赖(requests / flask / pandas)
- 集成
pre-commit
钩子、CI配置 - 发布为 GitHub 模板仓库
🏁 结语
脚本 ≠ 偷懒,而是为了把精力留给真正有价值的工作。
用好初始化脚本,从一开始就让项目结构清晰、环境一致、效率翻倍。