Embedding python : can't find encoding error

swapnil swapnil.st at gmail.com
Tue Mar 1 09:03:29 EST 2011


On Feb 28, 4:57 pm, Mathieu CLERICI <mathieu.cler... at gmail.com> wrote:
> Hi,
>
> I'm trying to embed python in a c++ program.
> I have compiled python32.lib with msvc 2010 targetting 32bits, i link
> it with my program wich is also 32bit.
> I get an error when calling Py_Initialize() : "no codec search
> functions registered:  can't find encoding"
>
> Py_FileSystemDefaultEncoding value is "mbcs".
>
> _PyCodec_Lookup raise an eror because  len = PyList_Size(interp-
>
> >codec_search_path); returns 0 in codecs.c
>
> Does someone already had this problem ? I have no idea how to solve
> that.
>
> Sorry for my bad english.

While initializing python import site.py module and I think
subsequently several other modules. Probably its in this process that
Python is trying to register the codes from the encoding package of
standard library. You must provide the path to the standard library to
the exe that you generate. You can do this by setting the environment
variables PYTHONPATH, PYTHONHOME (Refer
http://docs.python.org/using/cmdline.html#environment-variables ) in
your program before calling Py_Initialize()



More information about the Python-list mailing list