【问题标题】:Running a Python script saved on a Windows 7 server... on a Mac?在 Mac 上运行保存在 Windows 7 服务器上的 Python 脚本?
【发布时间】:2011-08-31 17:54:14
【问题描述】:

我们有一台运行 Windows 7 Pro 的服务器。我有几个 Python 脚本我想保存到服务器并拥有它,以便客户端计算机只需双击即可运行它们。客户端计算机都运行 OSX。事实证明这是……有问题的。

首先我尝试简单地使 Python 脚本可执行,但这在 Windows 服务器上似乎是不可能的——因为您无法设置“可执行”标志,所以双击文件将始终打开它在编辑器中(除非我要去每台计算机并使用 Python 打开 .py 文件)。尝试创建一个 shell 脚本也有同样的问题——无法让它们在服务器上执行。

我的解决方案是制作一个简单的 AppleScript 应用程序,发送命令来启动脚本。不幸的是,一旦我将应用程序复制到服务器,它就会停止工作。似乎 OSX 应用程序在保存到服务器时拒绝正确执行——如果您运行该文件,则什么也不会发生。

有没有我忽略的简单解决方案?

【问题讨论】:

    标签: python macos windows-7


    【解决方案1】:

    这可能就是您要查找的内容:http://oreilly.com/catalog/samba/chapter/book/ch05_03.html 表示 Samba 客户端(OS X 用于连接到 Windows 共享)可以将存档/隐藏/系统文件属性分别映射到所有者/组/世界可执行位。

    尝试在脚本文件中设置这些属性并确保其第一行是#!/usr/bin/python。如果默认启用此映射,则脚本将通过双击运行。

    【讨论】:

    • 我猜是不是windows服务器使用了一些专有系统方便挂载,而系统不支持权限映射,我倒霉了?
    • 如果 OS X 客户端通过 smb:// 连接,则只与它们的 SMB 客户端配置有关。
    • 他们没有 :( 驱动器通过专有软件安装在每台客户端计算机上。
    • 也许创建一个应用程序包会起作用。 AFAIK /Contents/MacOS 中的文件不必是可执行文件,但是我现在无法检查它是否可以是脚本。
    • 我很确定它必须是可执行的。如果我将使用 AppleScript 编辑器制作的简单应用程序复制到服务器,/Contents/MacOS/ 中的“applet”文件会丢失其执行位并且程序拒绝运行。
    【解决方案2】:

    实际上的问题是windows没有文件的执行位

    解决方案是更改共享上的挂载选项,以便所有文件都设置其执行位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 2014-12-03
      相关资源
      最近更新 更多