homepage

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.

classification
Title: frozen executables should have an empty path
Type: enhancement Stage: resolved
Components: Demos and Tools Versions: Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: Daniel Shaulov, twouters, vstinner
Priority: normal Keywords: patch

Created on 2016年03月11日 13:03 by Daniel Shaulov, last changed 2022年04月11日 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
freeze_path.patch Daniel Shaulov, 2016年03月11日 13:03 review
Messages (2)
msg261566 - (view) Author: Daniel Shaulov (Daniel Shaulov) * Date: 2016年03月11日 13:03
A frozen python executable should have an empty path, so it doesn't accidentally run something it was not supposed to.
The attached file achieves that by setting Py_NoSiteFlag and Py_IsolatedFlag in Python/frozenmain.c
It also checks for Py_FrozenFlag in Python/sysmodule.c in makepathobject and just returns an empty list if it is set.
I originally tried doing it without changing sysmodule, by calling Py_SetPath as suggested in the comment in getpath.c, but calling Py_SetPath(L"") will leave me with a path that cointains a single empty string. There is no way to set an empty path with Py_SetPath.
Other options include allowing Py_SetPath to accept NULL and making sure that NULL results in an empty list, or changing the behavior of makepathobject so an empty string will result in an empty list instead of a list with an empty string.
msg353255 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2019年09月26日 01:23
The PEP 587 has been implemented in Python 3.8. The new API allows to initialize sys.path to a really empty list: sys.path = [].
* https://docs.python.org/dev/c-api/init_config.html
* https://docs.python.org/dev/c-api/init_config.html#c.PyConfig.module_search_paths 
History
Date User Action Args
2022年04月11日 14:58:28adminsetgithub: 70726
2021年10月21日 15:21:42iritkatrielsetstatus: open -> closed
resolution: fixed
stage: resolved
2019年09月26日 01:23:43vstinnersetnosy: + vstinner
messages: + msg353255
2016年03月11日 13:03:41Daniel Shaulovcreate

AltStyle によって変換されたページ (->オリジナル) /