做网站需要会什么编程佛山网站建设公司哪个性比价好些

张小明 2026/1/17 9:26:05
做网站需要会什么编程,佛山网站建设公司哪个性比价好些,网站建设如何做报价,苏州百度推广服务中心目录 一、背景介绍 二、项目场景 三、准备工作 3.1 创建配置文件 3.2 创建依赖文件 四、代码修改 4.1 添加配置读取功能 4.2 完整代码示例 五、PyInstaller打包步骤 5.1 安装PyInstaller 5.2 打包命令 5.3 打包输出 5.4 运行可执行文件 六、跨平台打包注意事项 …目录一、背景介绍二、项目场景三、准备工作3.1 创建配置文件3.2 创建依赖文件四、代码修改4.1 添加配置读取功能4.2 完整代码示例五、PyInstaller打包步骤5.1 安装PyInstaller5.2 打包命令5.3 打包输出5.4 运行可执行文件六、跨平台打包注意事项6.1 重要原则6.2 打包环境要求6.3 配置文件处理七、完整打包脚本示例总结一、背景介绍在实际项目中我们经常需要将Python脚本部署到没有Python环境的服务器上运行。传统的做法是在目标机器上安装Python和所有依赖包但这会带来以下问题1. **环境配置复杂**需要手动安装Python、pip以及各种依赖包2. **版本冲突**不同项目可能依赖不同版本的包3. **部署不便**每次部署都需要重复配置环境4. **跨平台问题**Windows和Linux环境不兼容本文将介绍如何使用PyInstaller将Python脚本打包成可执行文件实现一次打包到处运行的目标。二、项目场景PyInstaller官方文档https://pyinstaller.org/本文以一个实际的业务场景为例批量处理Excel文件调用Dify AI接口进行意图识别并将结果写回Excel。**原始脚本特点**- 依赖多个第三方库pandas、openpyxl、requests- 包含硬编码的配置信息API地址、密钥等- 需要在Linux服务器上运行**目标**- 打包成独立的可执行文件- 配置信息外部化便于修改- 无需在目标机器安装Python环境三、准备工作3.1 创建配置文件首先我们需要将硬编码的配置信息提取到外部配置文件中。创建 config.yamlDIFY_HOST: http://192.168.0.106 API_KEY: app-xxxx EXCEL: test.xlsx START_ROW: 1 END_ROW: 3 MAX_INTENTS: 5**配置文件优势**- 修改配置无需改动代码- 不同环境可以使用不同配置- 敏感信息如API密钥可以单独管理3.2 创建依赖文件创建 requirements.txt列出所有依赖包pandas2.2.3 openpyxl3.1.5 requests2.32.3 PyYAML6.0.2**说明**- 建议指定版本号避免版本冲突- 打包时PyInstaller会自动分析并打包实际使用的依赖四、代码修改4.1 添加配置读取功能修改Python脚本添加配置读取逻辑import os import yaml # 配置读取 BASE_DIR os.path.dirname(os.path.abspath(__file__)) CONFIG_PATH os.path.join(BASE_DIR, config.yaml) def load_config(): try: with open(CONFIG_PATH, r, encodingutf-8) as f: return yaml.safe_load(f) or {} except FileNotFoundError: print(⚠️ 未找到 config.yaml使用默认配置) return {} cfg load_config() DIFY_HOST cfg.get(DIFY_HOST, http://192.168.0.106) API_KEY cfg.get(API_KEY, app-XlQOSXdpzlRtBHt7nbHAIQ1e) EXCEL cfg.get(EXCEL, test.xlsx) START_ROW int(cfg.get(START_ROW, 1)) END_ROW int(cfg.get(END_ROW, 3)) MAX_INTENTS int(cfg.get(MAX_INTENTS, 5)) # **关键点**- 使用 os.path.dirname(os.path.abspath(__file__)) 获取脚本所在目录- 配置文件与脚本放在同一目录- 提供默认值增强容错性4.2 完整代码示例Author: siroushengLastEditors: siroushengLastEditTime: 2025-xx-xx import os import pandas as pd import requests import time import yaml from openpyxl import load_workbook # 配置读取 BASE_DIR os.path.dirname(os.path.abspath(__file__)) CONFIG_PATH os.path.join(BASE_DIR, config.yaml) def load_config(): try: with open(CONFIG_PATH, r, encodingutf-8) as f: return yaml.safe_load(f) or {} except FileNotFoundError: print(⚠️ 未找到 config.yaml使用默认配置) return {} cfg load_config() DIFY_HOST cfg.get(DIFY_HOST, http://192.168.0.106) API_KEY cfg.get(API_KEY, app-XlQOSXdpzlRtBHt7nbHAIQ1e) EXCEL cfg.get(EXCEL, test.xlsx) START_ROW int(cfg.get(START_ROW, 1)) END_ROW int(cfg.get(END_ROW, 3)) MAX_INTENTS int(cfg.get(MAX_INTENTS, 5)) # # ... 其余业务逻辑代码 ...五、PyInstaller打包步骤5.1 安装PyInstaller在打包机器上安装PyInstallerpip install pyinstaller**注意**如果打包机器上已有所需依赖包无需重新安装。PyInstaller只会打包脚本实际导入的模块。5.2 打包命令**Linux环境打包**pyinstaller -F -n intention --add-data config.yaml:. intention.py**Windows环境打包**仅用于Windows部署pyinstaller -F -n intention --add-data config.yaml;. intention.py**参数说明**- -F生成单个可执行文件onefile模式- -n intention指定生成的可执行文件名称- --add-data config.yaml:.将配置文件打包进可执行文件Linux用冒号:Windows用分号;- intention.py要打包的Python脚本5.3 打包输出打包完成后会在当前目录生成- dist/intentionLinux或 dist/intention.exeWindows可执行文件- build/临时构建文件可删除- intention.spec打包配置文件可保留用于后续修改查看打包后的文件包含的内容使用 --log-level DEBUG 查看详细信息pyinstaller -F --log-level DEBUG intention.py关于打包时环境说明打包时不会把环境中所有包都打包进去PyInstaller会分析脚本的导入语句只打包实际使用的模块及其依赖。环境中存在但未使用的包不会被包含。**建议**使用虚拟环境venv进行打包确保只安装必要的依赖python3 -m venv venv source venv/bin/activate # Linux # 或 venv\Scripts\activate # Windows pip install -r requirements.txt pyinstaller pyinstaller -F -n intention --add-data config.yaml:. intention.py5.4 运行可执行文件**Linux环境**chmod x dist/intention ./dist/intention**Windows环境**dist\intention.exe六、跨平台打包注意事项6.1 重要原则**⚠️关键点**在Windows上打包的可执行文件只能在Windows上运行在Linux上打包的可执行文件只能在Linux上运行。**解决方案**1. **推荐**在目标运行环境Linux上直接打包2. **备选**使用Docker容器或WSL在Linux环境中打包3. **不推荐**在Windows上打包后部署到Linux不可行6.2 打包环境要求- **打包机器**需要安装Python和所有依赖包- **运行机器**无需安装Python直接运行可执行文件即可6.3 配置文件处理打包时使用 --add-data 参数可以将配置文件一起打包但需要注意1. **配置文件位置**打包后配置文件会被解压到临时目录2. **读取方式**需要使用PyInstaller的特殊路径处理方式读取配置文件**改进的配置读取代码**支持打包后的可执行文件import os import sys import yaml def resource_path(relative_path): 获取资源文件的绝对路径支持打包后的可执行文件 try: # PyInstaller创建的临时文件夹路径 base_path sys._MEIPASS except Exception: # 开发环境中的路径 base_path os.path.abspath(.) return os.path.join(base_path, relative_path) def load_config(): try: # 优先尝试从可执行文件同目录读取便于修改 config_path os.path.join(os.path.dirname(sys.executable), config.yaml) if not os.path.exists(config_path): # 如果不存在尝试从打包的资源中读取 config_path resource_path(config.yaml) with open(config_path, r, encodingutf-8) as f: return yaml.safe_load(f) or {} except FileNotFoundError: print(⚠️ 未找到 config.yaml使用默认配置) return {}这样修改后可以- 在可执行文件同目录放置 config.yaml 进行配置推荐- 如果不存在则使用打包时内置的默认配置七、完整打包脚本示例为了方便重复打包可以创建一个打包脚本 build.shLinux#!/bin/bash echo 开始打包... # 清理之前的构建文件 rm -rf build dist *.spec # 打包 pyinstaller -F \ -n intention \ --add-data config.yaml:. \ --clean \ intention.py # 复制配置文件到dist目录便于修改 cp config.yaml dist/ echo 打包完成可执行文件位于: dist/intentionWindows版本 build.batecho off echo 开始打包... rmdir /s /q build dist *.spec 2nul pyinstaller -F -n intention --add-data config.yaml;. --clean intention.py copy config.yaml dist\ echo 打包完成可执行文件位于: dist\intention.exe**项目结构**项目目录/├── intention.py # 主脚本├── config.yaml # 配置文件├── requirements.txt # 依赖列表├── build.sh # 打包脚本Linux└── dist/└── intention # 生成的可执行文件
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

信息化网站建设引言石家庄外贸网站建设

很多人第一次学 JavaScript 语法时,都觉得它像一座迷宫:规则很多、坑也不少。 而我那天晚上敲代码敲到困,眼睛一闭一睁,居然穿越到了一个叫 “JS 魔法城” 的奇怪地方。城门口立着一块大牌子,上面写着: “来者止步:进入本城,请遵守 JavaScript 语法,否则法术失败、代…

张小明 2026/1/10 16:32:15 网站建设

网站优化的企业网站推广方案

ExplorerPatcher完全指南:Windows界面定制终极解决方案 【免费下载链接】ExplorerPatcher 提升Windows操作系统下的工作环境 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher Windows 11的界面更新让许多用户感到不适,特别是那…

张小明 2026/1/13 0:21:16 网站建设

服务器网站开发过程网页设计个人网站心得体会

ZyPlayer视频播放控制API集成完整指南:从零到一的实战手册 【免费下载链接】ZyPlayer 跨平台桌面端视频资源播放器,免费高颜值. 项目地址: https://gitcode.com/gh_mirrors/zy/ZyPlayer 🎯 还在为视频播放功能集成而头疼?ZyPlayer的标…

张小明 2026/1/10 16:32:19 网站建设

徐州网站的优化电子商务购物网站建设实验报告

洛雪音乐终极音源配置指南:快速搭建个人音乐库完整教程 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 还在为音乐版权分散而烦恼?洛雪音乐音源项目为你提供了一站式解决方…

张小明 2026/1/10 16:32:19 网站建设

购物商城网站的运营万彩动画大师

Keil C51混合编程实战:C与汇编的高效协同之道你有没有遇到过这样的情况?写了一段看似完美的C代码,结果在8051单片机上跑起来就是不对劲——延时不准确、中断响应慢半拍、通信时序错乱……调试半天才发现,问题出在编译器生成的指令…

张小明 2026/1/10 16:32:20 网站建设

手机端模板网站建筑设计为何没人干了

当我用 SpringBoot 写完第一个 RESTful 接口并通过java -jar启动项目时,突然意识到:这门课教我的不只是一个框架,而是 “如何用最少的代码解决最多的问题”。从 SSM 时代的 “XML 配置堆成山” 到现在的 “一行注解搞定服务”,Spr…

张小明 2026/1/10 16:32:20 网站建设