【问题标题】:Executable shell file in WindowsWindows中的可执行shell文件
【发布时间】:2014-02-04 16:32:05
【问题描述】:

我有一个在 Ubuntu 中运行的可执行文件,它在 Python 中运行脚本并且运行良好。我还有一个与 Samba 服务器共享的目录。这个想法是每个人(甚至是 Windows 用户)都可以执行位于此共享文件夹中的可执行文件来运行位于我的计算机中的脚本。

但是,如何从 Linux 和 Windows 远程用户创建一个运行我的计算机的 python 脚本的可执行文件?

【问题讨论】:

  • 这个脚本需要什么解释器?重击?
  • 是的。在 bash 脚本中,我调用了 python 脚本:python my_script.py.
  • 因此,如果您希望 Windows 用户调用它,他们必须同时安装 bash 和 python。您可能需要为您的 Windows 用户编写一个 Windows .bat 文件。你说python脚本不在共享目录中?您认为远程用户将如何运行它?
  • python 脚本与 bash 脚本位于同一共享目录中。但我想要的是 Windows 用户可以单击可执行文件(bash 脚本),然后我的 Ubuntu PC 开始执行。
  • 那么 bash 脚本就要做:ssh user@your_machine python path/to/script.py

标签: python bash exe samba


【解决方案1】:

一种可能的解决方案是安装Cygwin,这是一个适用于 Windows 的 UNIX/Linux 仿真包。请注意,您需要在运行程序的所有计算机上安装 Python。

否则,您可以使用某种形式的远程执行,以便 Windows 用户在 Ubuntu 计算机上实际运行您的程序。

【讨论】:

  • 我是否需要在 Windows PC 中安装 Python 才能在我的 Ubuntu PC 中远程运行脚本?
  • 不,如果你远程运行它,你只需要像 PuTTY 这样的东西
  • 我在想像 PuTTY 这样的东西。我可以制作一个可执行文件,通过 PuTTY 从 Windows 向 Linux 发送指令以开始执行脚本吗?那太棒了。
  • 此博客页面显示如何:pythianpang.wordpress.com/2009/05/14/…
【解决方案2】:

正如您所说,这个可执行文件需要能够在 Linux 和 Windows 上运行。这将排除二进制文件,例如编译的 C 文件。

你剩下的将是一个可执行脚本,它可能是

  • 重击
  • 红宝石
  • Python
  • PHP
  • Perl

如果需要,脚本可以只是一个引导程序,根据操作系统加载适当的二进制可执行文件。

【讨论】:

    【解决方案3】:

    为 Windows 安装 Python http://www.python.org/download/

    那么 Python 程序应该是可执行的。但是cmd.exe 会在打印结果后简单地关闭。

    我会用以下内容制作一个批处理文件(/k 只是在完成后保持屏幕打开)

    C:\Windows\System32\CMD.EXE /k "foo.py"
    

    假设 foo.py 是您的 Python 程序。并保存批处理文件。

    然后您应该能够运行批处理文件并给出 Python 脚本的输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-27
      相关资源
      最近更新 更多