Search code examples
pythonhomebrewaws-samaws-sam-cli

AWS SAM CLI Fresh install throws error - dyld: Library not loaded: @executable_path/../.Python


I am trying to use the AWS SAM CLI installed through Homebrew and I am seeing the following error when I try to use sam with any command:

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /usr/local/Cellar/aws-sam-cli/0.53.0/libexec/bin/python3.7
  Reason: image not found

Looking at the .Python file referenced in the error, it is symlinked to a python folder that doesn't actually exist:

drwxr-xr-x   7 RCR  staff   224 Jun 16 19:40 .
drwxr-xr-x   9 RCR  staff   288 Jul  8 14:55 ..
lrwxr-xr-x   1 RCR  staff    70 Jun 16 19:40 .Python -> ../../../../opt/python/Frameworks/Python.framework/Versions/3.7/Python
drwxr-xr-x  39 RCR  staff  1248 Jul  8 14:55 bin
drwxr-xr-x   3 RCR  staff    96 Jun 16 19:40 include
drwxr-xr-x   3 RCR  staff    96 Jun 16 19:40 lib
-rw-r--r--   1 RCR  staff    61 Jun 16 19:40 pip-selfcheck.json

I do not have a 3.7 folder at that location, but I do have a 3.8 folder. That said, I am not sure what is the origin of this folder. My Python3 installation is from Homebrew and located in the Cellar as usual (../Cellar/[email protected]/3.8.3_1/bin/python3) and symlinked to /usr/local/bin/python3. Not sure if that is relevant but I figure more info can't hurt.

I tried symlinking the .Python file to the 3.8 version I do have at that location but it only produced other errors.

Any idea how I can get this CLI working?


Solution

  • Looks like 0.53.0 comes with python3.7 executables, there is a workaround until it is fixed:

    brew install --build-from-source aws-sam-cli
    

    https://github.com/awslabs/aws-sam-cli/issues/2101

    https://github.com/aws/homebrew-tap/issues/93