pythonnet通过 Runtime.PythonDLL 指定的是哪个动态库,那就必须和它配套的Python环境里装了pythonnet这个包。 我习惯把项目要用的Python环境用虚拟环境固定下来,或者干脆在代码里用绝对路径指定,不依赖全局环境变量,这样部署到哪台机器行为都一致。
string pathToVirtualEnv = ".\\envs\\pythonnetTest"; Runtime.PythonDLL = Path.Combine(pathToVirtualEnv, "python39.dll"); PythonEngine.PythonHome = Path.Combine ...