有没有办法从bash运行zip文件中的python脚本?
我知道在Python中,有一种方法可以导入存放在zip文件里的模块。我创建了一个自定义的Python包库,放在了一个zip文件里。
我还想把我的“任务”脚本放进这个包里,这些脚本会使用这个库。然后,我想通过bash命令来调用zip文件里的指定脚本,而不需要先解压这个zip。
我的目标是只需要移动一个zip文件到指定的文件夹,就能运行我的脚本。
2 个回答
3
看看这个 zipimport。它应该可以直接从安装中使用。你可能需要做一些工作,让pythonpath指向你的zip文件或目录。
这个模块让你可以从ZIP格式的压缩包中导入Python模块(*.py, *.py[co])和包。通常情况下,你不需要特别去使用zipimport模块;它会自动被Python的内置导入机制使用,只要sys.path中的路径指向ZIP压缩包就可以了。
20
我终于找到了一种方法来实现这个功能。如果我创建一个压缩文件(zip),我必须在压缩文件的根目录下创建一个叫做 __main__.py
的文件。这样,就可以在主程序里面启动这个脚本,并通过下面的命令在bash中调用它:
python myArchive.zip
这个命令会运行 __main__.py
文件! :)
接着,我可以创建一个 .command
文件来用合适的参数启动这个脚本。
你也可以在 __main__.py
文件中写一些代码,这样如果你需要传递参数的话,会更灵活。
比如:python __main__.py buildProject