У меня есть скрипт python, который прекрасно работает, когда я запускаю его в IDE. Если я выполняю его из командной строки, я должен находиться в каталоге, в котором он находится, чтобы он работал правильно. Если я пытаюсь запустить его как задание агента или с помощью задачи «Выполнение процесса» в службах SSIS, это не удается.
Сценарий внутри задания агента выглядит следующим образом:
py E:\Opt\AppDirectory\foo.py
SET EXITCODE = %ERRORLEVEL%
IF %EXITCODE% EQ 0 (
REM Script Ran Sucessfully
EXIT 0
)
IF %EXITCODE% EQ 1 (
REM Script Error
EXIT 1
)
Когда я запускаю это или в SSIS я получаю:
Traceback (most recent call last):
File "E:\Opt\AppDirectory\foo.py", line 76, in <module>
encoder = jl.load('model.joblib')
File "C:\ProgramData\Anaconda3\lib\site-packages\joblib\numpy_pickle.py", line
590, in load
with open(filename, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'model.joblib'
model.joblib находится в том же каталоге, что и foo.py. Это действительно странно, когда он говорит, что не может найти файл, но я смотрю прямо на него.
Работа может найти foo.py. Почему он не может найти model.joblib?