Pinvoke a VC++ dll with embeded python modules in a VB.net program on a computer without Python installed

26 Views Asked by At

Hi I built a VC++ dll with embedded python modules, and I pinvoke this dll's functions(works through python modules) in a VB.net program for calculation. Everything works as expected on this computer with Python installed. Then I copied this WHOLE VB.net program(including .dll, .lib,.pdb, .exp in the bin\debug folder) to a computer which has VS.net installed but no Python installed. When I debug this vb.net program on this second computer, following error show:
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named 'encodings'

Current thread 0x00001dd4 (most recent call first):

Does anyone know what is the reason I can't pinvoke a python embedded VC++ dll in a computer withot python installed? Thanks

confirm all pythons include, dependency, library are added in the VC++ dll; checked PYTHONHOME environment variable; convert native DLL to a .NET assembly or COM component

0

There are 0 best solutions below