我知道有一种方法可以使用Python导入存储在zip文件中的模块。我创建了一个自定义Python包库并将其保存在zip文件中。
我还想将"任务"脚本放在这个包中,这些脚本使用这个库。然后,在bash中,我想调用压缩文件中所需的脚本,而无需解压缩。
目标是只有一个zip文件需要移动到指定文件夹中以运行我的脚本。
我知道有一种方法可以使用Python导入存储在zip文件中的模块。我创建了一个自定义Python包库并将其保存在zip文件中。
我还想将"任务"脚本放在这个包中,这些脚本使用这个库。然后,在bash中,我想调用压缩文件中所需的脚本,而无需解压缩。
目标是只有一个zip文件需要移动到指定文件夹中以运行我的脚本。
我终于找到了一种方法来做到这一点。如果我创建一个zip文件,我必须在zip的根目录下创建__main__.py
文件。这样,就可以在主文件中启动脚本,并通过以下命令从bash调用:
python myArchive.zip
这个命令将运行__main__.py
文件!:)
然后我可以创建.command
文件以使用适当的参数来启动脚本。
您还可以在__main__.py
文件中放置一些代码来为您提供更多的灵活性,例如传递参数。
例如:python __main__.py buildProject
__name__ == "__main__"
习惯用法的代码文件。 - Martin Dorey
__main__.py
的脚本:PYTHONPATH=/path/to/myArchive.zip python -m [无扩展名的文件名] [参数]
。 - Hyunjun Kim__main__.py
文件不必位于zip文件的根目录中:python /path/to/z.zip/path/within/zip
。例如,这可以用于直接运行轮子文件中的代码(它是一个zip文件):python /path/to/wheel1.whl/module1
。此外,zip文件始终表现为目录,因此可以在没有zip的情况下测试此功能:python /path/to/any/directory
将在给定目录内运行__main__.py
。 - Ivan__main__.py
文件的文件。 - DrownedSuccess