我有一个 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
等,除非在具有绝对导入的包中,即使这样也是不好的做法。这些名称很可能干扰已安装的模块或工作目录和/或路径中的其他脚本/包。date
parser
结论:检查您是否没有test
在同一个目录中名为的文件夹。