设置可执行权限后 Python 脚本无法执行

设置可执行权限后 Python 脚本无法执行

我有一个 python 脚本

#!/usr/bin/env python

在我的脚本顶部?以下是我设置的权限

-rwxr-xr-x 1 user1 user2 6423 Nov 15 15:12 test

我尝试以用户 1 的身份执行脚本,./test但是它拒绝给我权限?

当我做

whoami它显示 user1 和 umask 是 0022,user1 使用 bash 作为其默认 shell

$python test(效果很好)

有任何想法吗??

答案1

我记得一个类似的问题,因为我在同一个目录中有一个 test.pyc,而解释器正在使用它而不是原始的解释器(test.py)。也许这对你来说是一个线索。

答案2

当您#!/usr/bin/env python在第一行中提到时,它会从中寻找 python $PATH

键入which python并检查输出中的路径是否已添加到$PATH。如果没有,请添加。

  • export PATH="$PATH:/usr/local/bin/python"

有关设置 PATH 变量的更多信息,请参阅

答案3

绝不 曾经使用名称作为test我的脚本名称。对于简单的名称,例如、、time等,除非在具有绝对导入的包中,即使这样也是不好的做法。这些名称很可能干扰已安装的模块或工作目录和/或路径中的其他脚本/包。dateparser

结论:检查您是否没有test在同一个目录中名为的文件夹。

相关内容