从 MAC 上的批处理文件运行 Python 脚本 [关闭]
Posted
技术标签:
【中文标题】从 MAC 上的批处理文件运行 Python 脚本 [关闭]【英文标题】:Python script run from a batch file on MAC [closed] 【发布时间】:2021-10-05 22:35:47 【问题描述】:我有一个使用 Numpy+MKL 的 Python 脚本。
我最近购买了一台 MAC,并将我的所有工作从旧 Windows 机器转移到它。请注意,我在我的 MAC 上创建了一个 Windows 分区,用于传输我在 Windows 机器上的所有内容
在 MAC 和旧的 Win 机器上,如果我用“使用 IDLE===>F5 编辑”打开 py 脚本,脚本运行得很好
在 Win 机器上,我有一个调用 py 脚本的 bat 文件。 bat文件的代码如下
@ECHO OFF
ECHO.
"C:\PYTHONCODE\Script1.py"
ECHO.
CLS
EXIT
MAC 的问题是代码在通过批处理文件调用时会崩溃,并且似乎与 MKL 和 MAC 有关。
有没有办法让脚本在 MAC 的 Win 分区中通过批处理运行,就像我在旧机器上做的那样?我是否需要在我不知道的 MAC 上安装任何其他软件包?
【问题讨论】:
当您没有使用 Windows 操作系统启动时,您将要做的只是尝试从另一个驱动器分区运行脚本,可能使用 NT 文件系统。所以你似乎在告诉我们/我,通常一个 Windows 批处理文件,(extension.bat
, or .cmd
) 在 MacOS 终端中运行没有问题,但在这种情况下它不是。因此,请向我们提供一个有效的 Windows 批处理脚本,以便我们可以重现该脚本,并请向我们解释 C:\PYTHONCODE
的位置,(C:
是否分配给包含您的 Windows 操作系统的驱动器?) i>.
另外,请解释为什么您需要一个 Windows 批处理文件来在 MacOS 中运行 .py
文件。您的 MAC 应该已经有 python
,因此运行 .py
文件作为 MacOS python
的参数会更有意义,如果需要,从 shell 脚本而不是 Windows 批处理文件运行。通常C:
在 Windows 上是分配的驱动器号,但在 MacOS 上,驱动器安装到根层次结构内的位置,所以我不确定您如何期望 C:
在 MacOS 中具有任何意义。
感谢您的想法,我已经找到并制定了解决方案。 Windows 批处理在 MAC 中的 Win 分区上完美运行。再次感谢,祝您有美好的一天
为什么不将该解决方案发布为答案,然后让其他人学习?毕竟,这个网站是双向的,它不仅是为了你的利益,也是为了每个人!
真相?我真的很想发布一个答案作为我的问题的解决方案。但看起来你现在对它真的很感兴趣,而你忘记了对我现在已被删除的问题的原始评论。回想一下,然后您可能会理解为什么我不打算让您知道解决方案:确实,该站点可以双向工作,这两种方式都与您的原始答案有关。生活不仅仅是编码,因此我建议您以礼貌的方式开始回复:黄金和白金徽章对此无济于事
【参考方案1】:
我假设您的 MAC 上有英特尔处理器。我还假设您使用“强”方式来设置您的 bootcamp C 分区以运行 Windows 10 操作系统
我的假设(如果我错了请纠正我)是基于这样一个事实,即尽管您使用 MAC 并且您已经创建了一个分区来运行 Win10 操作系统,但所有其他批处理作业都可以从任务调度程序中正常运行
这是一个可能由以下原因之一引起的问题:
-
要么你 pip 安装 numpy+mkl 错过了安装 whl 的一部分。在这种情况下,你应该 pip unistall 你的 numpy 然后再次 pip install 确保你没有错误。
虽然从您对问题的描述来看,我认为解决方案 1)不是您所追求的,但您的问题是由其他原因引起的,因此在尝试解决方案 1)之前,请尝试一下
-
通过批处理作业在任务调度程序上正确设置 Python 代码,使其在 bootcamp C 上运行
我相信您面临的问题是,尽管有一个分区,但您只有一个硬盘驱动器,这就像拥有两台电视和一个遥控器......尽管您想在一个上更改频道tv,如果两者都在,你最终会同时改变两个频道
告诉我进展如何
【讨论】:
您好,感谢您的回复。这正是我所做的,一切正常。以上是关于从 MAC 上的批处理文件运行 Python 脚本 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
通过蓝牙将 Android 应用程序连接到 Mac OS X 上的 Python 脚本
如何从 Mac 上的 bash 脚本调用 ./snowsql 文件?
如何从 mac 上的 node.js 脚本启动电子应用程序?