This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kayhayen
Recipients kayhayen
Date 2017-10-10.14:08:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1507644495.71.0.213398074469.issue31745@psf.upfronthosting.co.za>
In-reply-to
Content
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
History
Date User Action Args
2017-10-10 14:08:15kayhayensetrecipients: + kayhayen
2017-10-10 14:08:15kayhayensetmessageid: <1507644495.71.0.213398074469.issue31745@psf.upfronthosting.co.za>
2017-10-10 14:08:15kayhayenlinkissue31745 messages
2017-10-10 14:08:15kayhayencreate