【问题标题】:Run remote python code via ssh with uninstalled modules通过 ssh 使用已卸载的模块运行远程 python 代码
【发布时间】:2016-10-02 19:44:38
【问题描述】:

我希望通过 ssh(从我的代码)连接到 Linux 机器并运行一些使用远程机器上未安装的 python 库的代码,最好的方法是什么?

使用这样的调用:

cat main.py | ssh user@server python -

将在服务器上运行 main.py,但不会帮助我解决依赖关系,有没有办法以某种方式“编译”相关库并将它们发送过来只是为了运行我的代码?

如果可能,我希望避免在远程机器上安装库

【问题讨论】:

  • 最好的办法是在远程机器上有一个合适的环境。
  • 那么您会将这些库存储在哪里? Python 环境需要可以访问它们才能使用它们。一种可能适合您的方案(不确定,因为您提供的信息太少)的方法是将库放在共享文件夹(NFS、Samba 等)上,并将它们添加到远程环境中的 Python 路径中。跨度>
  • 你能解释一下“合适的环境”是什么意思吗?我有一台服务器,上面运行着一些虚拟机,我想运行一个连接到它们的代码并测试相关连接词例如数据库连接,其中一些之间的 ping 等......我想从一个地方运行它
  • 如果您想要发送单个文件并运行它而不是发送一堆文件,您可以检查 cython 和 nuitka 等编译器,或者如果您不介意切换语言,请继续rust 可以生成单个文件的可执行文件,对于有 Python 知识的人来说非常容易学习。

标签: python linux ssh


【解决方案1】:

试试virtualenv:

pip install virtualenv

然后使用

virtualenv venv

在当前路径(文件夹venv)中创建一个单独的python环境。

virtualenv 不需要在默认 python 路径中安装多个包,而是只需要安装一个包。

【讨论】:

    猜你喜欢
    • 2019-04-13
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多