【小技巧】Python + PyCharm 小智AI配置MCP接入点使用说明(内测)( PyInstaller打包成 .exe 可执行文件)


【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)


设置环境变量遇到过大问题:

  • 使用 PowerShell

  • 打包成.exe

Python 脚本打包成 .exe 可执行文件,最常用工具是 PyInstaller。下面是详细的依赖包、安装命令和常用打包指令说明。


安装依赖包

使用 PyInstaller:

bash 复制代码
pip install pyinstaller

基本打包命令

假设你的脚本叫 calculator.py

bash 复制代码
pyinstaller --onefile calculator.py

打包完成后会生成:

复制代码
dist/
  └── calculator.exe

常用参数说明

参数 说明
--onefile 打包成单个 .exe 文件
--noconsole 不显示命令行窗口(适用于 GUI 程序)
--icon=xxx.ico 指定图标文件
--name=自定义名称 指定打包后的 EXE 名称

示例(带图标和重命名):

bash 复制代码
pyinstaller --onefile --name=mcp_tool --icon=myicon.ico calculator.py

注意事项

  1. 打包后的 .exe 会很大,因为包含了 Python 解释器和依赖库。

  2. 如果脚本用到了外部文件(如 .env 或配置文件),需通过 --add-data 指定:

    bash 复制代码
    pyinstaller --onefile --add-data ".env;." calculator.py
  3. 如果有多个模块、第三方库,请确保它们都正确安装在当前 Python 环境中。


安装后的目录结构

复制代码
dist/           # 打包后的 EXE
build/          # 临时构建文件
calculator.spec # PyInstaller 的配置文件

如何将这两个文件打包成.exe文件,只需要点击一个.exe文件就可以同时运行这两个文件

python mcp_pipe.py calculator.py 这条命令实际上运行了两个 Python 文件,但 控制主逻辑的是 mcp_pipe.py,它 作为"中间转发器" 。


你可以使用 PyInstaller 将整个 mcp_pipe.py + calculator.py 项目打包为一个单独的 .exe 可执行文件 ,只生成一个 .exe,运行后自动完成启动和通信过程。以下是完整的打包流程与注意事项:

打包指令

mcp_pipe.py 所在目录打开 PowerShell,执行:

bash 复制代码
pyinstaller --onefile --add-data "calculator.py;." mcp_pipe.py

说明:

  • --onefile:打成一个单独的 exe

  • --add-data:把 calculator.py 一起打包进去

    • Windows 下用 ; 分隔路径
    • Linux/macOS 下用 :

打包完成后:

生成目录结构如下:

复制代码
dist/
└── mcp_pipe.exe  ✅ 你要的单文件

你可以将 mcp_pipe.exe 重命名为 mcp_client.exe


使用方式

只需双击 mcp_client.exe 或命令行运行:

bash 复制代码
mcp_client.exe

程序将自动:

  1. 读取环境变量 MCP_ENDPOINT
  2. 启动内部的 calculator.py
  3. 与云端通信,响应请求

⚠️ 注意事项:

  1. calculator.py 被打包进去是静态文件,如需后期更新工具功能,必须重新打包。

  2. 环境变量 MCP_ENDPOINT 仍需通过:

    powershell 复制代码
    $env:MCP_ENDPOINT="wss://api.xxxx.com/..."

    或写入 .env 文件并在 calculator.pyload_dotenv()

  3. 如果有 requestsdotenvmcp 等第三方依赖,请确保 requirements.txt 已完整,打包前测试无误。



  • 打包成.bat

自动运行的 .bat 脚本内容(保存为 mcp_endpoint_run.bat):

bat 复制代码
@echo off
set MCP_ENDPOINT=你的xx
start "" mcp_pipe.exe

shell 复制代码
powershell (Add-Type -MemberDefinition @"
  [DllImport("user32.dll")]
  public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);
"@ -Name "Win32SendMessage" -Namespace Win32Functions -PassThru)::SendMessage(-1, 0x0112, 0xF170, 2)
相关推荐
阿珊和她的猫2 小时前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
fouryears_234174 小时前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
我好喜欢你~5 小时前
C#---StopWatch类
开发语言·c#
lifallen6 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研6 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi6 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8247 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员7 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋7 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cui__OaO7 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习