MFC调用python脚本后如何打包?

关于MFC调用python脚本,现在程序已经可以运行,可以从MFC传递数据给python,并接收python计算后返回的数据,现在我想把MFC程序的release拷到别的没有python环境的电脑上用应该怎么办?
void CallPy::PyInit()

{
Py_SetPythonHome(L".\Python38-32");
Py_Initialize();
import_array();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
pModule = PyImport_ImportModule("btest");
pFunc = PyObject_GetAttrString(pModule, "adjustment");
return;
}

尝试了把python的include,libs,Lib等文件夹以及一些DLL文件放在一个文件夹并复制到release下面,并用Py_SetPythonHome(L".\Python38-32")指定了路径,但是加上这句代码运行就会报错:Fatal Python error: failed to get the Python codec of the filesystem encoding。注释掉就可以正常运行
我想要达到的结果:程序可以在没有python环境的电脑上运行。

那么你的python就应该编译成dll,而不是以源文件的形式存在
py源文件的好处就是你随时可以看源码并且随时可以修改它,而且它不挑系统,兼容性好
坏处就是环境里必须安装py执行器
这就跟你在excel里写宏脚本一样,你环境里不安装office拿什么执行呢
你编译成dll的好处是目标机器无需安装py
坏处就是你换个系统就必须重新打包dll,否则没法执行