使用Python subprocess安装openpyxl时报‘openpyxl未定义’错如何解决?
问题解决:subprocess安装openpyxl时出现"openpyxl未定义"错误
错误原因很直接:你在subprocess.check_call的参数里直接写了openpyxl,Python会把它当成一个未定义的变量,自然报错。pip安装包时需要传入字符串形式的包名,给openpyxl加上引号就能解决。
修正后的代码:
import sys import subprocess # 给openpyxl添加引号,以字符串形式传入包名 subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'openpyxl']) import openpyxl
额外补充几个实用提示:
- 若安装可能因网络、权限问题失败,可加异常捕获避免程序直接崩溃:
import sys import subprocess try: subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'openpyxl']) except subprocess.CalledProcessError: print("openpyxl安装失败,请检查网络或权限") sys.exit(1) import openpyxl - 没有系统级安装权限时,在命令末尾加
'--user'参数,安装到当前用户的Python环境:subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--user', 'openpyxl'])
内容的提问来源于stack exchange,提问作者Anjali Sinha
相关产品推荐
相关产品推荐

