mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
issue 9910
Add a Py_SetPath api to override magic path computations when starting up python.
This commit is contained in:
parent
42ef4b1f4c
commit
3b69db27d7
4 changed files with 68 additions and 2 deletions
|
@ -90,6 +90,9 @@
|
|||
* known use of sys.prefix and sys.exec_prefix is for the ILU installation
|
||||
* process to find the installed Python tree.
|
||||
*
|
||||
* An embedding application can use Py_SetPath() to override all of
|
||||
* these authomatic path computations.
|
||||
*
|
||||
* NOTE: Windows MSVC builds use PC/getpathp.c instead!
|
||||
*/
|
||||
|
||||
|
@ -771,6 +774,23 @@ calculate_path(void)
|
|||
|
||||
|
||||
/* External interface */
|
||||
void
|
||||
Py_SetPath(const wchar_t *path)
|
||||
{
|
||||
if (module_search_path != NULL) {
|
||||
free(module_search_path);
|
||||
module_search_path = NULL;
|
||||
}
|
||||
if (path != NULL) {
|
||||
extern wchar_t *Py_GetProgramName(void);
|
||||
wchar_t *prog = Py_GetProgramName();
|
||||
wcsncpy(progpath, prog, MAXPATHLEN);
|
||||
exec_prefix[0] = prefix[0] = L'\0';
|
||||
module_search_path = malloc((wcslen(path) + 1) * sizeof(wchar_t));
|
||||
if (module_search_path != NULL)
|
||||
wcscpy(module_search_path, path);
|
||||
}
|
||||
}
|
||||
|
||||
wchar_t *
|
||||
Py_GetPath(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue