11

我知道有一种方法可以使用 python 导入 zip 文件中的模块。我在一个 zip 文件中创建了一种自定义 python 包库。

我也想把我的“任务”脚本放在这个包中,那些正在使用库。然后,使用 bash,我想在 zip 文件中调用所需的脚本而不提取 zip。

目标是当我想运行我的脚本时,只有一个 zip 可以移动到指定的文件夹中。

4

2 回答 2

18

我终于找到了一种方法来做到这一点。如果我创建一个 zip 文件,我必须__main__.py在 zip 的根目录下创建。因此,可以在 main 中启动脚本并使用以下命令从 bash 调用 if:

python myArchive.zip

此命令将运行__main__.py文件!:)

然后我可以创建.command文件以使用适当的参数启动脚本。

__main__.py例如,如果您需要传递参数,您还可以在文件中添加一些代码以提供更大的灵活性。

前任:python __main__.py buildProject

参考文档在这里:https ://docs.python.org/2/library/runpy.html

于 2010-09-21T18:37:00.807 回答
3

看看zipimport。它应该直接从安装中工作。您可能需要做一些工作才能使 pythonpath 指向您的 zip 文件/目录。

该模块增加了从 ZIP 格式档案中导入 Python 模块(*.py、*.py[co])和包的功能。通常不需要显式使用 zipimport 模块;它由 sys.path 项目的内置导入机制自动使用,这些项目是 ZIP 档案的路径。这些项目是 ZIP 档案的路径。

于 2010-09-21T13:53:48.407 回答