成功解决:Can‘t find Python executable “python“, you can set the PYTHON env variable.

简介: 这篇文章分享了作者在运行前端Vue项目时遇到的关于Python执行环境的问题和解决方法。问题是由于找不到Python可执行文件导致的编译错误,解决方法包括安装编译环境、卸载并重新安装出现问题的`node-sass`包,并重新执行`npm install`和`npm run dev`。

今天跑公司新项目的时候、运行前端vue、报了一个关于python的错误。就离谱

1、问题报错全部代码

actual version of core-js.
npm ERR! code 1
npm ERR! path E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: E:\work\nodejs\node.exe E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'E:\\work\\nodejs\\node.exe',
npm ERR! gyp verb cli   'E:\\workspace\\bsi-web-develop\\bsi-web-develop\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@16.13.1 | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb could not find "python". checking python launcher
npm ERR! gyp verb could not find "python". guessing location
npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\node-gyp\lib\configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\node-gyp\lib\configure.js:509:16)
npm ERR! gyp ERR! stack     at callback (E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\graceful-fs\polyfills.js:299:20)
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp ERR! System Windows_NT 10.0.18363
npm ERR! gyp ERR! command "E:\\work\\nodejs\\node.exe" "E:\\workspace\\bsi-web-develop\\bsi-web-develop\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd E:\workspace\bsi-web-develop\bsi-web-develop\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.13.1
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     E:\work\vue\nodejs\node_cache\_logs\2022-08-18T01_08_20_286Z-debug.log

2、问题核心部分

Can't find Python executable "python", you can set the PYTHON env variable.

npm ERR! gyp ERR! node -v v16.13.1
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok

3、问题解决方法

首先面向百度编程

经过多次尝试自己成功解决这一问题的方法

3.1 安装编译环境(管理员身份运行)

npm install -g node-gyp 
npm install --global --production windows-build-too

3.2 卸载安装失败的包

npm uninstall node-sass

3.3 重新安装包

npm install sass -i

3.3 重新 npm install

3.4 重新npm run dev

4、成功跑起来

在这里插入图片描述

相关文章
|
1月前
|
存储 Python
Python多个set中的交集
Python多个set中的交集
|
1月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
134 0
|
2月前
|
Python Windows
Python:执行py命令,提示: Can‘t find a default Python.
Python:执行py命令,提示: Can‘t find a default Python.
|
2月前
|
存储 数据处理 Python
Python中的Set集合:高效数据处理的利器
Python中的Set集合:高效数据处理的利器
41 0
|
2月前
|
JSON 安全 数据格式
7-6|python报错TypeError: can't pickle _thread.RLock objects
7-6|python报错TypeError: can't pickle _thread.RLock objects
|
3月前
|
索引 Python 容器
为什么Python中会有集合set类型?
为什么Python中会有集合set类型?
|
3月前
|
Python
python中set和frozenset方法和区别
python中set和frozenset方法和区别
|
3月前
|
Python
Python 代码从 `.env` 文件中读取环境变量
这篇文章介绍了如何在Python项目中使用`python-dotenv`库从`.env`文件读取环境变量的详细步骤,包括安装库、创建`.env`文件、在代码中加载和读取环境变量。
|
3月前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()
本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。
33 0
|
1月前
|
存储 JavaScript 前端开发
Set、Map、WeakSet 和 WeakMap 的区别
在 JavaScript 中,Set 和 Map 用于存储唯一值和键值对,支持多种操作方法,如添加、删除和检查元素。WeakSet 和 WeakMap 则存储弱引用的对象,有助于防止内存泄漏,适合特定场景使用。