命令行运行Python脚本出现NumPy导入错误的问题求助
问题描述
我有一个tst.py脚本,在PyCharm的Python控制台或终端中运行完全正常,但在Windows命令提示符中调用时却报错——哪怕复制PyCharm终端里完全相同的命令也不行。
简化后的脚本代码:
import pandas as pd data = {'tst1': [1, 2], 'tst2': [3, 4], 'tst3': [5, 6]} myDf = pd.DataFrame(data) print(myDf)
命令行执行的命令:
C:\Users\myname\Anaconda3\envs\pers36\python.exe H:/Experiments/test.py
核心报错信息:
ImportError: Unable to import required dependencies: numpy:
Original error was: DLL load failed: The specified module could not be found.
同时伴随mkl-service包导入失败的警告,已确认PyCharm与命令行指定的是同一个Python 3.6.13虚拟环境,但问题仅在命令提示符中出现。
解决方案
1. 先激活虚拟环境再运行
直接调用解释器路径可能未加载虚拟环境的完整环境变量,优先激活环境:
# 激活虚拟环境 C:\Users\myname\Anaconda3\envs\pers36\Scripts\activate.bat # 激活后执行脚本 python H:/Experiments/test.py
2. 修复MKL依赖
针对报错中的mkl-service警告,在激活的环境中更新相关依赖:
pip install --upgrade mkl-service numpy
3. 手动添加DLL路径到系统PATH
Anaconda虚拟环境的DLL目录可能未被命令提示符识别,临时添加路径:
set PATH=C:\Users\myname\Anaconda3\envs\pers36\Library\bin;%PATH%
执行后再运行脚本命令。
4. 重装numpy(解决DLL损坏问题)
若以上步骤无效,卸载并重新安装对应版本的numpy:
pip uninstall numpy -y pip install numpy==1.19.2 --force-reinstall
5. 排查环境干扰
- 确保命令提示符以普通用户身份运行,避免权限限制导致DLL加载失败
- 执行
where python查看命令行中Python的查找顺序,确认没有其他环境的路径优先级更高
内容的提问来源于stack exchange,提问作者Celeste
相关产品推荐
相关产品推荐

