New submission from Kay Hayen <kay.ha...@gmail.com>:

Hello,

for my Python compiler Nuitka, I want to make sure that compiled binaries in 
standalone mode do not access the original installation, but solely the 
distribution folder created.

I am using the new API Py_SetPath on Python3 and it works fine. The Python2.7 
documentation of the C-API however says: 

The embedding application can steer the search by calling 
Py_SetProgramName(file) before calling Py_Initialize(). Note that PYTHONHOME 
still overrides this and PYTHONPATH is still inserted in front of the standard 
path. An application that requires total control has to provide its own 
implementation of Py_GetPath(), Py_GetPrefix(), Py_GetExecPrefix(), and 
Py_GetProgramFullPath() (all defined in Modules/getpath.c).

My attempts at overloading this have badly failed, because of conflicting 
"declspec" (dllimport vs dllexport). And when defining Py_GetPath away before 
making the include, so the conflict is not seen by the MSVC compiler, the 
result is that the function is not called. 
Is this known to work? Can you point me to a working example, because my 
searches didn't reveal anything. Not normal web search, nor global code search 
for Py_GetPath code.

I did not try on Linux yet. I am assuming it might work, I just wanted to tap 
on knowledge on your side. Is it feasible. For Linux? For Windows?

Thanks,
Kay Hayen

----------
components: Build
messages: 304045
nosy: kayhayen
priority: normal
severity: normal
status: open
title: Overloading "Py_GetPath" does not work
type: behavior
versions: Python 2.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31745>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to