windos下执行sql文件mydql中的表名变成小写

本文指导您如何在MySQL服务器上修改my.ini文件,将lower_case_table_names设置为2,以实现表名区分大小写。

找到mydql服务器安装目录,找到my.ini文件

在文件中加入lower_case_table_names=2   ,1表示不区分大小写,2表示区分大小写

[mysqld]


# The TCP/IP Port the MySQL Server will listen on
lower_case_table_names=2
set-variable=lower_case_table_names=0
port=3306

<think>我们使用PyInstaller来打包PyCharm项目为Windows可执行文件。以下是详细步骤和代码示例: ### 打包步骤 1. **创建虚拟环境(推荐)**: 在PyCharm中创建新的虚拟环境,确保环境纯净。 2. **安装依赖**: 安装项目所需的所有依赖,并额外安装PyInstaller: ```bash pip install pyinstaller ``` 3. **准备打包脚本**: 在项目根目录创建打包脚本`build.py`(也可直接使用命令行,但脚本更可控): ```python # build.py import os import shutil from PyInstaller.__main__ import run # 清理之前的构建文件 if os.path.exists('dist'): shutil.rmtree('dist') if os.path.exists('build'): shutil.rmtree('build') # 主脚本路径(根据实际修改) main_script = 'main.py' # 打包参数 opts = [ main_script, '--onefile', # 打包成一个exe文件 '--windowed', # 不显示控制台(对于GUI程序) '--icon=app.ico', # 应用图标(可选) '--name=MyApp', # 应用称 '--add-data=images;images', # 添加数据文件文件夹(源路径;目标路径) '--hidden-import=module1,module2', # 隐藏导入(解决打包后模块缺失) '--clean', # 清理临时文件 '--log-level=WARN' # 减少日志输出 ] run(opts) ``` 4. **处理资源文件**: 在代码中,使用以下方式访问资源文件(如图片、配置文件等): ```python import sys import os def resource_path(relative_path): """ 获取资源的绝对路径,支持开发环境和PyInstaller打包后的环境 """ if hasattr(sys, '_MEIPASS'): # 打包后的资源路径 base_path = sys._MEIPASS else: base_path = os.path.abspath(".") return os.path.join(base_path, relative_path) # 使用示例 image_path = resource_path('images/logo.png') ``` 5. **执行打包**: 在PyCharm的终端中运行: ```bash python build.py ``` 打包后的exe文件位于`dist`文件夹中。 ### 注意事项 - **控制台与窗口模式**: 如果程序是控制台应用,删除`--windowed`;如果是GUI程序(如Tkinter、PyQt),保留该选项。 - **排除不必要的模块以减少体积**: 使用`--exclude-module`排除不需要的模块,例如: ```python '--exclude-module=tkinter', # 如果不需要tkinter ``` - **UPX压缩**: 下载[UPX](https://upx.github.io/)并指定路径,可显著减小exe体积: ```python '--upx-dir=C:\\upx' # 在打包参数中添加 ``` - **依赖检查**: 使用`pyinstaller --onefile --console main.py`打包测试,查看控制台报错。 ### 解决常见问题 | 问题 | 解决方案 | |------------------------|--------------------------------------------------------------------------| | 打包后闪退 | 去掉`--windowed`查看控制台错误;检查资源文件路径 | | 缺少DLL文件 | 安装VC++运行库([下载链接](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0)) | | 被杀毒软件误报 | 使用代码签证书签(或添加白单) | | 打包体积过大 | 使用虚拟环境;排除不需要的模块;使用UPX压缩 | ### 进阶:创建安装程序 使用Inno Setup创建安装程序(包含exe和依赖文件): 1. 下载[Inno Setup](https://jrsoftware.org/isdl.php) 2. 编写脚本(`.iss`文件): ```iss [Setup] AppName=MyApp AppVersion=1.0 DefaultDirName={pf}\MyApp OutputDir=.\Output OutputBaseFilename=MyApp_Setup [Files] Source: "dist\MyApp.exe"; DestDir: "{app}" Source: "data\*"; DestDir: "{app}\data"; Flags: recursesubdirs [Icons] Name: "{commonprograms}\MyApp"; Filename: "{app}\MyApp.exe" ``` 3. 编译生成安装包(`.exe`安装文件) §§相关问题§§ 1. 如何解决PyInstaller打包后程序运行闪退的问题? 2. 使用PyInstaller打包时如何包含额外的数据文件? 3. 如何减小PyInstaller打包生成的exe文件体积? 4. 在Windows上运行打包后的Python程序需要哪些运行库? 5. 如何使用代码签证书为打包的exe文件进行数字签? </think>### 使用 PyCharm 打包 Python 项目为 Windows 可执行文件的完整指南 #### 核心工具:PyInstaller(推荐) ```python # 安装 PyInstaller(在 PyCharm 终端执行) pip install pyinstaller # 基本打包命令(适用于控制台程序) pyinstaller --onefile your_script.py # 打包GUI程序的优化命令(无控制台窗口) pyinstaller --onefile --windowed --icon=app.ico your_gui_app.py # 包含额外资源的打包命令 pyinstaller --onefile \ --add-data "images;images" \ --add-data "config.ini;." \ --hidden-import tkinter \ your_app.py ``` #### 完整打包流程: 1. **准备项目环境** ```python # 创建 requirements.txt pip freeze > requirements.txt # 创建纯净虚拟环境(避免打包不必要的依赖) python -m venv pack_env pack_env\Scripts\activate pip install pyinstaller pip install -r requirements.txt ``` 2. **创建打包配置文件** ```python # build.py(放置在项目根目录) import PyInstaller.__main__ import shutil import os # 清理旧构建 shutil.rmtree('build', ignore_errors=True) shutil.rmtree('dist', ignore_errors=True) # 打包参数配置 PyInstaller.__main__.run([ 'your_main_app.py', # 主程序入口 '--onefile', # 打包为单个exe '--windowed', # 无控制台窗口 '--name=MyApp', # 输出文件 '--icon=assets\app.ico', # 应用图标 '--add-data=assets;assets', # 包含资源文件夹 '--hidden-import=pkg_resources', # 解决常见依赖问题 '--clean', # 清理临时文件 '--noconfirm' # 不询问确认 ]) ``` 3. **处理资源访问路径问题** ```python # 在代码中添加路径处理函数 import sys import os def resource_path(relative_path): """ 获取资源绝对路径 """ if hasattr(sys, '_MEIPASS'): return os.path.join(sys._MEIPASS, relative_path) return os.path.join(os.path.abspath("."), relative_path) # 使用示例 icon_path = resource_path('assets/icon.ico') config_path = resource_path('config/settings.ini') ``` 4. **执行打包** ```bash python build.py # 输出文件在 dist/MyApp.exe ``` #### 体积优化技巧: ```python # 使用UPX压缩(可减小30-50%体积) # 1. 下载UPX:https://upx.github.io/ # 2. 解压到 C:\upx pyinstaller --onefile --upx-dir=C:\upx your_app.py # 排除大型库 pyinstaller --exclude-module matplotlib \ --exclude-module scipy \ your_app.py ``` #### 创建安装程序(使用 Inno Setup) 1. 下载 [Inno Setup](https://jrsoftware.org/isdl.php) 2. 创建安装脚本 `setup.iss`: ```iss [Setup] AppName=MyApplication AppVersion=1.0 DefaultDirName={pf}\MyApp OutputDir=.\Output OutputBaseFilename=MyApp_Setup Compression=lzma2 SolidCompression=yes [Files] Source: "dist\MyApp.exe"; DestDir: "{app}" Source: "assets\*"; DestDir: "{app}\assets"; Flags: recursesubdirs [Icons] Name: "{commondesktop}\MyApplication"; Filename: "{app}\MyApp.exe" Name: "{commonprograms}\MyApplication"; Filename: "{app}\MyApp.exe" ``` #### 常见问题解决方案: | 问题现象 | 解决方法 | |----------|----------| | 打包后闪退 | 打包时移除`--windowed`查看错误日志 | | 缺少DLL文件 | 安装 [VC++运行库](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0) | | 杀毒软件误报 | 使用 [signtool](https://docs.microsoft.com/en-us/dotnet/framework/tools/signtool-exe) 签exe | | 资源文件丢失 | 使用`resource_path()`函数访问资源 | | 打包体积过大 | 使用虚拟环境排除无用库,启用UPX压缩 | #### 高级方案:使用 NSIS 创建专业安装包 ```bash # 安装 NSIS 插件 pip install nsis # 创建安装包 pyinstaller --onefile your_app.py makensis your_installer.nsi ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值