python - 在网络服务器上运行的 Flask 应用程序调用远程服务器 python 模块

标签 python python-3.x flask

我的网络服务器上运行着一个 Flask 应用程序,可以根据用户选择的主机名 POST 来调用不同的远程服务器。 Web 服务器 Flask 应用程序对用户所需的主机名进行 SSH 调用(使用 paramiko)来运行 python 脚本。

目前,我必须为我想在后端调用的每个函数手动创建一个 python 脚本,否则我会遇到导入错误(因为我的网络服务器 Flask 没有与远程服务器相同的 python 环境)。

例如,在我的后端远程服务器上,如果我想从后端 Python 模块调用函数,我必须创建如下内容:

myScript.py:

#!/usr/bin/python3
from myPackage import myModule
myModule.myFunction()

并从网络服务器 Flask 应用程序调用它,如下所示:

client.exec_command('(cd /myDir; ./myScript.py:)')

我的问题是,有没有办法刺激后端python环境并直接调用python模块,或者甚至如何能够从后端导入模块,这样我就不必创建单独的我想调用的每个函数的脚本?

最佳答案

您可能会对两种 Python 解释器选项感兴趣:

  1. 如果you run it as python -c "p​​rint('foobar')" 您可以将脚本作为文本传递,并且不会在 Remote 上创建任何文件。
  2. 如果您以 python - 在远程运行它,它将以交互模式启动并列出来自标准输入的命令。我从来没有用paramiko做过,但是as I can see 、paramiko支持交互模式下运行命令。

附注仍然不确定我是否正确理解了您的问题,希望这有帮助。

关于python - 在网络服务器上运行的 Flask 应用程序调用远程服务器 python 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51392232/

相关文章:

python - 引用列表中的某些值

python - 在Pygame中根据FPS制作时间延迟

Python Flask 捕获多个完整性错误 = 如果用户或电子邮件引发完整性错误,则会出现不同的错误消息

python - Python脚本之间的通信

python - "a and a or b"的目的是什么?

python - pytest parametrize - 来自 CSV 的行作为测试用例

python - 仅当问题存在时才显示问题评论

python - 导入错误: No module named even after I appended to system path

python-3.x - Python win32 ShellExecute 错误 31 : 'A device attached to the system is not functioning.'

python - 如何检查Python中的函数装饰器