使用SSIS执行过程任务来运行导入熊猫的Python脚本时出现问题

时间:2020-10-28 00:09:58

标签: python pandas ssis

我正在尝试通过SSIS执行过程任务执行python脚本。在经历了所有常见的磨难问题和随之而来的Google搜索之后,设法获得了如下基本脚本:-

from tkinter import messagebox
messagebox.showinfo("Title", "Hello from Python script!")

该脚本名为 TestScript.py ,可以从命令行正确运行。它还可以在具有以下SSIS设置的SSIS中正常运行:-

Execute Process task settings

但是,当我将以下行添加到脚本中时,

  import pandas as pd

它失败,并显示以下错误消息:-

[执行流程任务]错误:在“ C:\ SFTP_Uploads \ TTF_test”处执行“ C:\ ProgramData \ Miniconda3 \ python.exe”“ TestScript.py”时,进程退出代码为“ 1”,而预期的是“ 0”。

显然,问题与pandas导入有关,但是我不确定为什么在脚本从命令行完美运行时应该如此。

不确定要去哪里,希望不是明显的问题。任何建议,不胜感激。

环境是Windows Server 2019上的SQL Server 2016; Python 3.8.3,Pandas 1.1.3

1 个答案:

答案 0 :(得分:0)

睡个好觉会产生奇迹。这是我解决此问题的方法。

  1. 当我在上面说scipt在commnand提示符下运行正常时,这实际上是Anaconda提示符,而不是正常的Windows CMD提示符。
  2. 使用此命令“ C:\ ProgramData \ Miniconda3 \ python.exe TestScript.py ”在正常的Windows提示符下运行,该程序失败,并显示一条错误消息,指示无法找到熊猫< / li> 因此,我创建了一个批处理文件,该文件首先加载anaconda提示符,然后调用脚本。这是批处理文件:-

@回显 REM一次性启动Anaconda提示符和python程序的名称 %windir%\ System32 \ cmd.exe / C“ C:\ ProgramData \ Miniconda3 \ Scripts \ activate.bat C:\ ProgramData \ Miniconda3 && python.exe TestScript.py”

  1. 然后将上述批处理文件作为SSIS任务中的可执行文件提供,并且一切正常
相关问题