Anaconda自定义环境Python脚本通过.bat运行报numpy导入错误问询
问题原因
你遇到的报错核心是直接调用conda虚拟环境内的python.exe时,没有临时加载对应环境的依赖路径,导致numpy的C扩展依赖的DLL文件无法被找到。conda环境的依赖库路径仅在环境激活时才会临时加入当前运行会话的环境变量,不会修改全局系统PATH,你之前的bat写法跳过了环境激活步骤,所以会触发DLL加载失败的问题,该问题和包本身的安装状态无关,不需要反复重装numpy、pandas。
解决方案
直接修改你的.bat文件为如下内容即可,不需要修改全局系统环境变量,所有环境变更仅在bat运行期间生效,不会影响其他Python版本或软件运行:
:: 调用Anaconda的激活脚本,激活你的ENGINEERING虚拟环境 call C:\Users\alopo000\Anaconda3\Scripts\activate.bat C:\Users\alopo000\Anaconda3\envs\engineering :: 激活环境后直接运行目标Python脚本 python "C:\Users\alopo000\Files\Python\Valid\Portf.py" pause
注意事项
- 如果你的Anaconda安装路径不是默认的
C:\Users\alopo000\Anaconda3,请将上述activate.bat的路径替换为你实际的Anaconda安装路径下的Scripts\activate.bat路径即可 - 配置Windows任务调度器时,直接选择修改后的bat文件作为执行目标即可,无需额外调整其他调度参数
- 脚本运行结束后,激活的环境会随bat会话自动销毁,不会产生任何残留配置影响其他程序运行
内容的提问来源于stack exchange,提问作者chulo
相关产品推荐
相关产品推荐

