Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

12.1.0 errors with Python is not set from command line or npm configuration #2552

Open
k2xl opened this issue May 10, 2024 · 11 comments
Open
Assignees

Comments

@k2xl
Copy link

k2xl commented May 10, 2024

[READ] Step 1: Are you in the right place?

  • For issues related to the code in this repository file a Github issue.
  • If the issue pertains to Cloud Firestore, read the instructions in the "Firestore issue"
    template.
  • For general technical questions, post a question on StackOverflow
    with the firebase tag.
  • For general Firebase discussion, use the firebase-talk
    google group.
  • For help troubleshooting your application that does not fall under one
    of the above categories, reach out to the personalized
    Firebase support channel.

[REQUIRED] Step 2: Describe your environment

  • Operating System version: Mac Sonoma 14.0 (23A344)
  • Firebase SDK version: 12.1.0
  • Firebase Product: admin
  • Node.js version: 20.6.1
  • NPM version: 9.8.1

[REQUIRED] Step 3: Describe the problem

Getting error when building on docker on Mac
FROM node:20-alpine AS base
https://github.com/sspenst/thinky.gg/pull/1101/files

Works fine on 12.0.0.

Error is below:

21.06 npm ERR! gyp info using [email protected] | linux | arm64
21.06 npm ERR! gyp ERR! find Python 
21.06 npm ERR! gyp ERR! find Python Python is not set from command line or npm configuration
21.06 npm ERR! gyp ERR! find Python Python is not set from environment variable PYTHON
21.06 npm ERR! gyp ERR! find Python checking if "python3" can be used
21.06 npm ERR! gyp ERR! find Python - executable path is ""
21.06 npm ERR! gyp ERR! find Python - "" could not be run
21.06 npm ERR! gyp ERR! find Python checking if "python" can be used
21.06 npm ERR! gyp ERR! find Python - executable path is ""
21.06 npm ERR! gyp ERR! find Python - "" could not be run
21.06 npm ERR! gyp ERR! find Python 
21.06 npm ERR! gyp ERR! find Python **********************************************************
21.06 npm ERR! gyp ERR! find Python You need to install the latest version of Python.
21.06 npm ERR! gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
21.06 npm ERR! gyp ERR! find Python you can try one of the following options:
21.06 npm ERR! gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
21.06 npm ERR! gyp ERR! find Python (accepted by both node-gyp and npm)
21.06 npm ERR! gyp ERR! find Python - Set the environment variable PYTHON
21.06 npm ERR! gyp ERR! find Python - Set the npm configuration variable python:
21.06 npm ERR! gyp ERR! find Python npm config set python "/path/to/pythonexecutable"
21.06 npm ERR! gyp ERR! find Python For more information consult the documentation at:
21.06 npm ERR! gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
21.06 npm ERR! gyp ERR! find Python **********************************************************
21.06 npm ERR! gyp ERR! find Python 
21.06 npm ERR! gyp ERR! configure error 
21.06 npm ERR! gyp ERR! stack Error: Could not find any Python installation to use
21.06 npm ERR! gyp ERR! stack at PythonFinder.fail (/thinky_app/node_modules/node-gyp/lib/find-python.js:306:11)
21.06 npm ERR! gyp ERR! stack at PythonFinder.findPython (/thinky_app/node_modules/node-gyp/lib/find-python.js:164:17)
21.06 npm ERR! gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
21.06 npm ERR! gyp ERR! stack at async configure (/thinky_app/node_modules/node-gyp/lib/configure.js:27:18)
21.06 npm ERR! gyp ERR! stack at async run (/thinky_app/node_modules/node-gyp/bin/node-gyp.js:81:18)
21.06 npm ERR! gyp ERR! System Linux 5.15.49-linuxkit-pr
21.06 npm ERR! gyp ERR! command "/usr/local/bin/node" "/thinky_app/node_modules/.bin/node-gyp" "rebuild"
21.06 npm ERR! gyp ERR! cwd /thinky_app/node_modules/farmhash
21.06 npm ERR! gyp ERR! node -v v20.13.1
21.06 npm ERR! gyp ERR! node-gyp -v v10.1.0
21.06 npm ERR! gyp ERR! not ok
@google-oss-bot
Copy link

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

@k2xl k2xl changed the title 12.1.0 errors with Python is not set from command line or npm configuration 12.1.0 errors with Python is not set from command line or npm configuration May 10, 2024
@ezequiel-imajine
Copy link

Hi, I had a similar error with the same version of firebase admin and also on ARM. I changed my node version to 20.13 and updated my docker file by adding:
RUN apk add --no-cache -u \ curl \ g++ \ automake \ autoconf \ nasm \ gcc \ gifsicle \ zlib \ git \ unzip\ make\ python3

@lahirumaramba
Copy link
Member

This should also be related to #2534
Which you can fix by upgrading farmhash to v3.3.1. We will also include this change in the upcoming release

@sspenst
Copy link

sspenst commented May 22, 2024

I am seeing the same issue with firebase-admin v12.1.1 + farmhash v3.3.1

@mustafababil
Copy link

Experiencing same here :/

@sspenst
Copy link

sspenst commented May 22, 2024

@lahirumaramba FYI, should reopen this issue

@lahirumaramba
Copy link
Member

lahirumaramba commented May 23, 2024

Hey folks, we will look into a better fix for this. In the meantime, are you able to add python to your docker image (or #2552 (comment)) to and see if that resolves the issue?

Also, see: lovell/farmhash#48

@lahirumaramba lahirumaramba reopened this May 23, 2024
@lahirumaramba
Copy link
Member

For others facing the same issue, it would help us if you can share more information on your environment and the errors you are seeing.

@lhermann
Copy link

lhermann commented May 24, 2024

Here is the exact error:

/var/server # npm ci
npm error code 1
npm error path /var/server/node_modules/farmhash
npm error command failed
npm error command sh -c prebuild-install || node-gyp rebuild
npm error prebuild-install warn install No prebuilt binaries found (target=3 runtime=napi arch=arm64 libc=musl platform=linux)
npm error gyp info it worked if it ends with ok
npm error gyp info using [email protected]
npm error gyp info using [email protected] | linux | arm64
npm error gyp ERR! find Python
npm error gyp ERR! find Python Python is not set from command line or npm configuration
npm error gyp ERR! find Python Python is not set from environment variable PYTHON
npm error gyp ERR! find Python checking if "python3" can be used
npm error gyp ERR! find Python - executable path is ""
npm error gyp ERR! find Python - "" could not be run
npm error gyp ERR! find Python checking if "python" can be used
npm error gyp ERR! find Python - executable path is ""
npm error gyp ERR! find Python - "" could not be run
npm error gyp ERR! find Python
npm error gyp ERR! find Python **********************************************************
npm error gyp ERR! find Python You need to install the latest version of Python.
npm error gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
npm error gyp ERR! find Python you can try one of the following options:
npm error gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
npm error gyp ERR! find Python (accepted by both node-gyp and npm)
npm error gyp ERR! find Python - Set the environment variable PYTHON
npm error gyp ERR! find Python - Set the npm configuration variable python:
npm error gyp ERR! find Python npm config set python "/path/to/pythonexecutable"
npm error gyp ERR! find Python For more information consult the documentation at:
npm error gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
npm error gyp ERR! find Python **********************************************************
npm error gyp ERR! find Python
npm error gyp ERR! configure error
npm error gyp ERR! stack Error: Could not find any Python installation to use
npm error gyp ERR! stack at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:306:11)
npm error gyp ERR! stack at PythonFinder.findPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:164:17)
npm error gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm error gyp ERR! stack at async configure (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:27:18)
npm error gyp ERR! stack at async run (/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js:81:18)
npm error gyp ERR! System Linux 6.1.0-13-arm64
npm error gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm error gyp ERR! cwd /var/server/node_modules/farmhash
npm error gyp ERR! node -v v18.20.3
npm error gyp ERR! node-gyp -v v10.1.0
npm error gyp ERR! not ok

Running inside a node:18-alpine docker container on the following environment:
Linux 267451d27941 6.1.0-13-arm64 #1 SMP Debian 6.1.55-1 (2023-09-29) aarch64 Linux

Edit: Tried to update the server to 6.1.0-21-arm64, but without success. The error prevails.

** Edit 2:** Tried node:18 (no alpine) and could successfully run npm install, no building from sources or python error ✅.

@lahirumaramba
Copy link
Member

lahirumaramba commented May 24, 2024

Thanks @lhermann for the detailed response! Would adding python build tools to your docker help? See: https://stackoverflow.com/a/59471030/1526201

How many of y'all facing this issue use the remote config API? I am wondering if we should make farmhash an optional dependency, so you would have to deal with this only if you are using the remote config API (which depends on farmhash).

@sspenst
Copy link

sspenst commented May 25, 2024

Getting a similar error using the dockerfile here: https://github.com/sspenst/thinky.gg/blob/main/Dockerfile.dev

19.32 npm error code 1
19.32 npm error path /thinky_app/node_modules/farmhash
19.32 npm error command failed
19.32 npm error command sh -c prebuild-install || node-gyp rebuild
19.32 npm error prebuild-install warn install No prebuilt binaries found (target=3 runtime=napi arch=arm64 libc=musl platform=linux)
19.32 npm error gyp info it worked if it ends with ok
19.32 npm error gyp info using [email protected]
19.32 npm error gyp info using [email protected] | linux | arm64
19.32 npm error gyp ERR! find Python 
19.32 npm error gyp ERR! find Python Python is not set from command line or npm configuration
19.32 npm error gyp ERR! find Python Python is not set from environment variable PYTHON
19.32 npm error gyp ERR! find Python checking if "python3" can be used
19.32 npm error gyp ERR! find Python - executable path is ""
19.32 npm error gyp ERR! find Python - "" could not be run
19.32 npm error gyp ERR! find Python checking if "python" can be used
19.32 npm error gyp ERR! find Python - executable path is ""
19.32 npm error gyp ERR! find Python - "" could not be run
19.32 npm error gyp ERR! find Python 
19.32 npm error gyp ERR! find Python **********************************************************
19.32 npm error gyp ERR! find Python You need to install the latest version of Python.
19.32 npm error gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
19.32 npm error gyp ERR! find Python you can try one of the following options:
19.32 npm error gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
19.32 npm error gyp ERR! find Python (accepted by both node-gyp and npm)
19.32 npm error gyp ERR! find Python - Set the environment variable PYTHON
19.32 npm error gyp ERR! find Python - Set the npm configuration variable python:
19.32 npm error gyp ERR! find Python npm config set python "/path/to/pythonexecutable"
19.32 npm error gyp ERR! find Python For more information consult the documentation at:
19.32 npm error gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
19.32 npm error gyp ERR! find Python **********************************************************
19.32 npm error gyp ERR! find Python 
19.32 npm error gyp ERR! configure error 
19.32 npm error gyp ERR! stack Error: Could not find any Python installation to use
19.32 npm error gyp ERR! stack at PythonFinder.fail (/thinky_app/node_modules/node-gyp/lib/find-python.js:306:11)
19.32 npm error gyp ERR! stack at PythonFinder.findPython (/thinky_app/node_modules/node-gyp/lib/find-python.js:164:17)
19.32 npm error gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
19.32 npm error gyp ERR! stack at async configure (/thinky_app/node_modules/node-gyp/lib/configure.js:27:18)
19.32 npm error gyp ERR! stack at async run (/thinky_app/node_modules/node-gyp/bin/node-gyp.js:81:18)
19.32 npm error gyp ERR! System Linux 6.6.26-linuxkit
19.32 npm error gyp ERR! command "/usr/local/bin/node" "/thinky_app/node_modules/.bin/node-gyp" "rebuild"
19.32 npm error gyp ERR! cwd /thinky_app/node_modules/farmhash
19.32 npm error gyp ERR! node -v v22.2.0
19.32 npm error gyp ERR! node-gyp -v v10.1.0
19.32 npm error gyp ERR! not ok

Optional dependency could be a possible solution, we are currently only using the messaging API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants