我已经看过其他的python模块分发问题。我的需求有点不同(我认为!,我是Python新手+)捆绑/执行Python脚本+模块到远程机器
我有一堆python脚本,我需要在远程机器上执行。这是目标环境的样子;
- 机器将安装基础的Python运行时
- 我将有一个SSH账户;我可以使用ssh远程登录或执行命令
- 我可以将文件(scp)复制到我的家目录
- 我不允许在机器上安装任何东西;机器甚至可能无法访问互联网
- 我的脚本可能会使用一些“异国情调”的python模块 - 很可能它们将不会出现在目标机器上
- 审计后,我的主目录将被屏蔽机器(不留痕迹)
所以我想要做的是:
- 副本Python脚本+模块远程机器(比如在/ home/audituser /脚本)的目录结构。和模块可以复制到/ home/audituser/scripts/pythhon_lib)
- 然后执行一个脚本(比如说/home/audituser/scripts/myscript.py)。该脚本需要解析'python_lib'子目录中使用的所有模块。
这是可能的吗?还是有更好的方法来做到这一点?我想我所看到的是将第三方模块“重新定位”到脚本目录中。
在此先感谢!
我会尝试这些建议;尽管我认为他们可能比我需要的更多。 有没有什么办法可以通过按摩PYTHON_PATH来做到这一点? –
嗯,它是'PYTHONPATH',而不是'PYTHON_PATH'。我不知道为什么你需要按摩它。如果只是将模块复制到脚本目录中,只需复制它们即可,不需要'PYTHONPATH'。如果要弄清楚哪些模块难以收集,或者需要C扩展模块和C依赖关系,或者由于其他原因,这不会起作用,“PYTHONPATH”将无济于事。如果你想按摩'PYTHONPATH',当然你可以 - 或者更简单地说,从脚本内部按摩'sys.path' - 但是如果你不知道你想用它做什么,你可能不会'不需要它。 – abarnert