env: python: 没有这样的文件或目录

2022-01-15 00:00:00 python macos shebang osx-mountain-lion env

问题描述

我的 Python 脚本 beak 包含以下 shebang:

My Python script beak contains the following shebang:

#!/usr/bin/env python

当我运行脚本 $ ./beak 时,我得到了

When I run the script $ ./beak, I get

env: python: No such file or directory

我之前从存储库中提取了这个脚本.这可能是什么原因?

I previously pulled this script from a repository. What could be the reason for this?


解决方案

脚本包含 CR 字符.shell 将这些 CR 字符解释为参数.

The script contains CR characters. The shell interprets these CR characters as arguments.

解决方案:使用以下脚本从脚本中删除 CR 字符.

Solution: Remove the CR characters from the script using the following script.

with open('beak', 'rb+') as f:
    content = f.read()
    f.seek(0)
    f.write(content.replace(b'', b''))
    f.truncate()

相关文章