在 .bat 文件中使用 Python 导入 pandas 时不起作用
Posted
技术标签:
【中文标题】在 .bat 文件中使用 Python 导入 pandas 时不起作用【英文标题】:Python import pandas not working when used within .bat file 【发布时间】:2021-12-21 04:43:22 【问题描述】:我遇到了以下问题,给我带来了很多麻烦。我设法在 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
【问题讨论】:
这能回答你的问题吗? Batch equivalent of "source" on Windows: how to run a Python script from a virtualenv 【参考方案1】:为了解决这个问题,我尝试了各种各样的方法,比如在窗口中玩弄路径以及其他很多东西。 在 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 文件中调用它对我来说已经足够了,对你来说也可能足够了。
【讨论】:
这个问题几乎每周都会在 *** 上被问到。在网站上发布问题和答案之前,请考虑搜索。我们真的不需要解决这个问题的多个问题和答案。 对于我的具体问题,我尝试寻找了很多,但都没有找到。经过 2 1/2 小时的查找后,我只发现了一个非常简短的评论,在这里解决了这个问题。其他帖子中提到的通用解决方案不起作用。以上是关于在 .bat 文件中使用 Python 导入 pandas 时不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何将 .bat 文件中的变量导入 PowerShell 脚本?
Cython 导入工作一次 - 然后给出 gcc.bat 错误
使用bat脚本调用py文件直接获取应用的包名和targetversion
oracle 导入多sql文件 sql文件在不同的文件夹下面、用现在用bat能把文件搜索出来,然后怎么导入到oracle中