方法1:
参考:
hellowac.github.io/uv-zh-cn/ge...
zhuanlan.zhihu.com/p/195019831...

具体过程如下:
运行环境:window10
执行代码:
ini
from fastmcp import Client
from fastmcp.client.transports import StdioTransport
import asyncio
transport = StdioTransport(
command="uvx",
args=["amap-mcp-server"],
env={'AMAP_MAPS_API_KEY': 'xxx'}
)
client = Client(transport)
async def example():
async with client:
list = await client.list_tools()
print(f"{list}")
if __name__ == "__main__":
asyncio.run(example(),debug=True) #debug模式看日志
报错:
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件
arduino
File "E:\xxx\miniconda3\Lib\subprocess.py", line 1554, in _execute_child
| hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
| ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
| # no special security
| ^^^^^^^^^^^^^^^^^^^^^
| ...<4 lines>...
| cwd,
| ^^^^
| startupinfo)
| ^^^^^^^^^^^^
| FileNotFoundError: [WinError 2] 系统找不到指定的文件。
解决方法:
安装uvx,并配置环境变量
1、配置uvx安装路径,添加到环境变量中,重启电脑使之生效。
ini
安装路径:
UV_INSTALL_DIR = E:\Programs\uvx
2、安装uvx
powershell以管理员身份运行,执行如下命令:
arduino
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
3、验证
css
win+R
uvx --version
成功显示:uvx信息即成功
4、重启pycharm执行
正常运行
方法2:
找到当前虚拟环境下的Lib/subprocess.py的文件,修改这个模块中的in _execute_child函数的初始化函数 init函数中的shell = False 改成shell = True。