无法从天鹅座运行'aws'



我正在使用安装在Windows 10上的cygwin,并试图从它访问awscli

我使用pip install awscli来安装awscli。这安装了awscli。然后,我试图只运行aws,看看它是否已安装,我得到以下错误:

-bash: /cygdrive/c/Program Files/Anaconda2/Scripts/aws: C:Program: bad interpreter: No such file or directory

我不知道为什么会发生这种情况。如有任何帮助,我将不胜感激。

即使使用最新版本的AWS cli,这仍然是一个问题。因此,经过一些尝试和错误之后,我找到了一个非常好的解决方案,它不会让您切换最喜欢的shell。

首先,确保python在您的PATH上。你可以在系统的任何地方运行python,它就可以工作了。

找到aws脚本并打开它进行编辑(对我来说它位于c:Program FilesPython36Scriptsaws),并将hashbang(这将是脚本中的第一行)更改为#!python.exe。对我来说,它被设置为#!c:Program FilesPython36python.exeProgram Files中间的空格在该路径被转换为类似Linux的路径时导致了问题。将其更改为#!python.exe可以避免此问题。

更新AWS cli时,重复此解决方法。

p。您也可以通过将python安装在path中没有空格的文件夹中来避免此问题。这需要重新配置您的系统,所以我没有自己这样做。

我会安装标准python,并确保它与which pythonwhich pip一起出现在您的路径中。根据我的经验,像这样的路径问题是由于混合和匹配针对不同平台的可执行文件。某些命令不实现从Windows到Linux再转换路径的功能(似乎您的特定命令在空格上失败了)。

既然你说你是在Windows 10上,如果你有周年纪念版,我会推荐Windows Subsystem for Linux而不是cygwin。您可能会在WSL上看到更少的Windows问题,因为它使用与Linux上使用的完全相同的ubuntu软件包,而不是cygwin端口,并将它们低级映射到NT内核。

问题来自"Program Files"中有空格。这与cygwin有关(我在windows上使用git bash遇到了同样的错误)。在脚本中,我有这样的内容:

#!/c/Program Files/some_program/executable.exe

用反斜杠或引号转义空格无效。

解决方案是使用DOS的短文件名:
  • Program ~1 for Program Files
  • Program ~2 for "Program Files (x86)"

那么这一行就会变成:

#!/c/Progra~1/some_program/executable.exe

Windows:

cd ..进入主目录,显示pwd/。现在,cd/cygdrive/c/Program Files/Anaconda2/Scripts

现在,运行:python aws configure

的例子:

user@user /cygdrive/c/Program Files/Anaconda2/Scripts 
$python aws configure

相关内容

  • 没有找到相关文章

最新更新