首页 > 解决方案 > 在 .bat 文件中使用 Python 导入 pandas 时不起作用

问题描述

我遇到了以下问题,给我带来了很多麻烦。我设法在 2 1/2 小时后解决了这个问题,并且让一些可怜的灵魂免于浪费时间,我想展示我是如何解决它的。

在 .bat 文件中加载 python 文件通常效果很好。但是,我在尝试导入 pandas 时遇到了问题。代码可能看起来像这样

import pandas as pd
print ("hello")

在 cmd 提示符下的以下结果将是

ImportError: Unable to import required dependencies:
numpy:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

我的 .bat 文件看起来像

@echo off
"C:\Users\myUserName\Anaconda3\python.exe" "C:\path to .py file\MyPythonFile.py"
pause

标签: pythonpandasbatch-fileimport

解决方案


为了解决这个问题,我尝试了各种各样的方法,比如在窗口中玩弄路径和各种各样的其他东西。在 Anaconda3 文件夹中打开 python.exe 后,我收到了

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

我发现自己无法在命令提示符下解决这个问题,但我终于理解了核心问题。由于 Anaconda3 未激活,它永远不会按预期导入 pandas,而其他导入按预期工作。

最终工作的解决方案是在 Anaconda3 文件夹中添加 activate.bat 文件的路径。所以最终的 .bat 文件看起来像

@echo off
call "C:\Users\myUserName\Anaconda3\Scripts\activate.bat"
"C:\Users\myUserName\Anaconda3\python.exe" "C:\path to my Python Script\MyPythonFile.py"
pause

在理想情况下,我可以保持它处于激活状态,但在 .bat 文件中调用它对我来说已经足够了,对你来说可能也足够了。


推荐阅读