# Ubuntu 快速入门指南 ## 快速安装(推荐) 使用自动安装脚本: ```bash cd ~/project/jdpl # 进入项目目录 chmod +x jd/setup_ubuntu.sh ./jd/setup_ubuntu.sh ``` 脚本会自动: 1. ✅ 检查并安装 Python3 和依赖 2. ✅ 检查并安装 Chrome/Chromium 3. ✅ 安装 Chrome 运行时依赖 4. ✅ 创建 Python 虚拟环境 5. ✅ 安装 DrissionPage 6. ✅ 创建便捷运行脚本 ## 手动安装 ### 1. 安装 Chrome ```bash # Google Chrome (推荐) wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo apt install -y ./google-chrome-stable_current_amd64.deb # 或 Chromium sudo apt install -y chromium-browser ``` ### 2. 安装系统依赖 ```bash sudo apt update sudo apt install -y python3 python3-pip python3-venv \ libnss3 libatk-bridge2.0-0 libdrm2 libxkbcommon0 \ libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \ libgbm1 libasound2 ``` ### 3. 创建虚拟环境 ```bash cd ~/project/jdpl python3 -m venv venv source venv/bin/activate pip install DrissionPage deactivate ``` ### 4. 运行脚本 ```bash # 方式1: 使用便捷脚本(如果运行了 setup_ubuntu.sh) ./run_logistics.sh # 方式2: 手动运行 source venv/bin/activate python jd/fetch_logistics_ubuntu.py deactivate ``` ## 常见问题 ### Q: 遇到 "externally-managed-environment" 错误? A: 这是 Ubuntu 22.04+ 的保护机制。**必须使用虚拟环境**,不要使用 `--break-system-packages`。 ### Q: 虚拟环境在哪里? A: 在项目目录下的 `venv` 文件夹。每次运行前需要激活:`source venv/bin/activate` ### Q: 找不到 Chrome? A: 脚本会自动查找,也可以手动安装。常见路径: - `/usr/bin/google-chrome` - `/usr/bin/chromium-browser` ### Q: 无头模式 vs 有界面模式? A: 在 `fetch_logistics_ubuntu.py` 中修改: ```python USE_HEADLESS = True # 无头模式(服务器环境) USE_HEADLESS = False # 有界面模式(需要图形界面) ``` ### Q: 如何修改默认 URL? A: 编辑 `fetch_logistics_ubuntu.py`,找到: ```python tracking_url = "https://3.cn/2t-Iibig" ``` 修改为你想要的 URL。 ## 验证安装 运行测试: ```bash source venv/bin/activate python -c " from DrissionPage import ChromiumPage, ChromiumOptions import os chrome_path = '/usr/bin/google-chrome' if not os.path.exists(chrome_path): chrome_path = '/usr/bin/chromium-browser' options = ChromiumOptions() options.set_browser_path(chrome_path) options.headless(True) page = ChromiumPage(options) page.get('https://www.baidu.com') print('✅ 测试成功!') page.quit() " deactivate ``` ## 项目结构 ``` jdpl/ ├── jd/ │ ├── fetch_logistics_ubuntu.py # Ubuntu 主脚本 │ ├── setup_ubuntu.sh # 自动安装脚本 │ └── UBUNTU_SETUP.md # 详细文档 ├── venv/ # Python 虚拟环境(运行脚本后创建) └── run_logistics.sh # 便捷运行脚本(运行 setup 后创建) ```