如何将 Python 模块及其依赖项复制到文件
How to copy a Python module and it's dependencies to a file
我想使用像 urllib.request
这样的 Python 模块,但将模块的所有依赖项都放在一个文件中,这样我就可以在计算机上使用它们而无需安装整个 Python。
是否有模块或工具可以用来将特定模块复制到文件及其依赖项中,而无需遍历整个脚本并手动复制。我正在使用 Python 3.
使用容器技术。
Docker,例如,使您能够将带有依赖项的代码移植到您想要的任何机器,而无需在机器上安装任何新东西,这也节省了大量时间。
有多种选项可用于执行此类操作。我首先想到的是 python 的内置 zip 支持;如果您的 zip 中有 __main__.py
,则 zip 文件上的 运行ning python 会将其 运行 作为脚本。简单的(纯 python、非 OS 依赖的)包应该可以简单地嵌入到这样的 zip 文件中。
或者,cx_Freeze 等工具可以打包脚本及其依赖项,包括以 OS 特定方式的解释器。这通常会导致更大的占用空间,因为生成的包也包含解释器,但允许包含与本机组件的更复杂的依赖关系;我不确定 python 的 zip 导入功能是否可行。
我想使用像 urllib.request
这样的 Python 模块,但将模块的所有依赖项都放在一个文件中,这样我就可以在计算机上使用它们而无需安装整个 Python。
是否有模块或工具可以用来将特定模块复制到文件及其依赖项中,而无需遍历整个脚本并手动复制。我正在使用 Python 3.
使用容器技术。 Docker,例如,使您能够将带有依赖项的代码移植到您想要的任何机器,而无需在机器上安装任何新东西,这也节省了大量时间。
有多种选项可用于执行此类操作。我首先想到的是 python 的内置 zip 支持;如果您的 zip 中有 __main__.py
,则 zip 文件上的 运行ning python 会将其 运行 作为脚本。简单的(纯 python、非 OS 依赖的)包应该可以简单地嵌入到这样的 zip 文件中。
或者,cx_Freeze 等工具可以打包脚本及其依赖项,包括以 OS 特定方式的解释器。这通常会导致更大的占用空间,因为生成的包也包含解释器,但允许包含与本机组件的更复杂的依赖关系;我不确定 python 的 zip 导入功能是否可行。