Python import pandas 在 .bat 文件中使用时不起作用

Python import pandas not working when used within .bat file

我有以下问题给我带来了很多麻烦。我在 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

为了解决这个问题,我尝试了各种方法,比如在 windows 中尝试各种路径以及其他各种方法。 在 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 文件中调用它对我来说已经足够了,也许对你也足够了。