gpt4 book ai didi

python - 动态添加引用 .zip 文件内部的 Python sys.path 条目

转载 作者:行者123 更新时间:2023-12-01 05:40:03 26 4
gpt4 key购买 nike

我有一个 Python 程序,它可以动态地将一些内容添加到 sys.path 中。它工作正常,但我想将我的 Python 程序作为 .zip 文件分发,其中 __main__.py 运行。

我可以将 zip 文件中的条目添加到 sys.path 中吗?经过一番搜索后,我找到了 pkgutil documentation但我不知道什么会起作用。

注意:我需要在sys.path中添加的内容包括.pyd.dll文件对于 Windows。

最佳答案

我不完全确定我理解你的问题,但无论如何我都会尽力回答......

不幸的是,虽然您可以通过将 zip 文件添加到 sys.path 来导入:

sys.path contains a list of strings providing search locations for modules and packages. It is initialized from the PYTHONPATH environment variable and various other installation- and implementation-specific defaults. Entries in sys.path can name directories on the file system, zip files, and potentially other “locations” (see the site module) that should be searched for modules, such as URLs, or database queries. Only strings and bytes should be present on sys.path; all other data types are ignored. The encoding of bytes entries is determined by the individual path entry finders.

source: http://docs.python.org/3/reference/import.html#path-entry-finders

...不会扩展到 .pyd.dll 文件:

Any files may be present in the ZIP archive, but only files .py and .py[co] are available for import. ZIP import of dynamic modules (.pyd, .so) is disallowed.

source: http://docs.python.org/3/library/zipimport.html

我不知道有任何方法可以解决此限制。

关于python - 动态添加引用 .zip 文件内部的 Python sys.path 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com