繁体   English   中英

如何使python脚本可全局执行? OSX

[英]How do you make a python script globally executable? OSX

我已经阅读了许多其他答案,以尝试使其正常运行,但是由于某些原因,它却无法解决。 我已经更改了权限,并使用chmod +x <myscript.py>使.py可执行文件,并将文件复制到OSX上默认情况下已在我的PATH中的/ usr / local / bin中,除非我位于脚本所在的目录中,否则我仍然无法执行该脚本。

另外,我对标头的工作方式有些困惑。 我目前拥有#!/usr/bin/python因为当我将其更改为#!/usr/local/bin以匹配目录时,当我运行脚本时,我的终端说我有一个“错误的解释器”。

我知道这个话题已经讨论了很多,但是其他修复没有用。 提前致谢。

如果您像这样运行脚本:

./Untitled.py

Bash会尝试在当前目录中查找脚本-因为您已经使用文件路径(在这种情况下为相对路径)调用了脚本。

但是,如果您像这样运行脚本:

Untitled.py

Bash将在您的PATH搜索具有该名称的可执行文件。 假设您已将该脚本设置为可执行文件(使用chmod ),并且该脚本位于PATH的目录中,则该脚本应该运行。

关于she-bang行,而不是硬编码到特定的Python( /usr/bin/python ),更常见的方法是:

#! /usr/bin/env python

脚本将由当前处于活动状态的任何Python执行(例如,您可能会使用virtualenvpyenv在Python之间进行切换,具体取决于当前项目)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM