Windows下Spotipy环境变量配置遇Pylance报错:Invalid character "\u24"
问题原因及解决办法
报错根源
你把PowerShell的环境变量设置语法当成Python代码来写了。$env:是PowerShell里操作环境变量的专属语法,但Python根本不认识这种写法——Pylance报错里的\u24就是$的Unicode编码,所以会提示无效字符。
正确的两种配置方式
方式1:在PowerShell里临时设置(运行脚本前执行)
打开PowerShell,先执行以下命令(别写到Python代码里):
$env:SPOTIPY_CLIENT_ID="你的脱敏后的客户端ID" $env:SPOTIPY_CLIENT_SECRET="你的脱敏后的客户端密钥" $env:SPOTIPY_REDIRECT_URI="你的脱敏后的重定向地址"
然后在同一个PowerShell窗口里,进入代码目录运行你的Python脚本,脚本就能读取到这些环境变量。
方式2:在Python代码里直接设置(更稳妥,不依赖终端)
用Python的os模块来设置环境变量,这是Python代码里的标准写法:
import os # 设置Spotipy所需的环境变量 os.environ['SPOTIPY_CLIENT_ID'] = '你的脱敏后的客户端ID' os.environ['SPOTIPY_CLIENT_SECRET'] = '你的脱敏后的客户端密钥' os.environ['SPOTIPY_REDIRECT_URI'] = '你的脱敏后的重定向地址' # 再导入并使用Spotipy import spotipy from spotipy.oauth2 import SpotifyOAuth sp = spotipy.Spotify(auth_manager=SpotifyOAuth())
为什么之前的尝试没用
- 移除
$后写成env:SPOTIPY_CLIENT_ID,这既不是PowerShell命令,也不是Python合法的赋值语句,自然会提示命令未被识别。 - 直接在Python代码里写
$env:开头的语句,属于语法错误,Pylance会直接报错。
内容的提问来源于stack exchange,提问作者nich
相关产品推荐
相关产品推荐

