Antoine,
Your guess that my issue initially wasn't related to virtualenv is correct (I've never heard about that project before posting this issue...)
As for passing the output of Py_GetPath directly to Py_SetPath: You are right, there is no point in doing this...
Now, I remember that the initial problem I had was the one you reported:
Fatal Python error: Py_Initialize: Unable to get the locale encoding
LookupError: no codec search functions registered: can't find encoding
Shall I create a separate issue to report this problem?