Сегодня я скачал программное обеспечение Jenkins и установил его на свой локальный компьютер. А также настроил для выполнения сценария python. Но когда я выполняю, я получаю ошибку импорта модуля. Когда я открываю и запускаю в командной строке, Power shell или Pycham, проблема не возникает.
Для целей проверки я добавил
#print (sys.version )
#print(os.path.realpath(__file__))
В приведенной выше строке в сценарии и проверил ошибку jenkin журнал. Он показывает тот же путь, который я добавил в python путь
Журнал ошибок Jenkin:
Started by user Test
Running as SYSTEM
Building in workspace C:/Users/XXXX/PycharmProjects/StringTest
[StringTest] $ cmd /c call C:\WINDOWS\TEMP\jenkins3754780952140768393.bat
C:\Users\XXXX\PycharmProjects\StringTest>set PYTHONPATH=C:\Python374\python.exe;C:\Python374\;C:\Python374\Lib\;C:\Python374\Lib\site-packages\;
C:\Users\XXXX\PycharmProjects\StringTest>cd C:\Users\DET5COB\PycharmProjects\StringTest\
C:\Users\XXXX\PycharmProjects\StringTest>python TestExecutor.py
Traceback (most recent call last):
File "TestExecutor.py", line 10, in <module>
import xmlrunner
ModuleNotFoundError: No module named 'xmlrunner'
C:\Users\XXXX\PycharmProjects\StringTest>exit 1
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
У меня есть переменная среды установки, так как PYTHONPATH (переменная пользователя) добавила следующие каталоги C : \ Python374 \ python .exe, C: \ Python374 \; C: \ Python374 \ Lib \; C: \ Python374 \ Lib \ сайт-пакеты \; в разделе SYSTEM VARIABLE
Тот же список каталогов, добавленный в пользовательскую и системную переменную PATH.
My Python script:
from TestSection.TestSection import *
import shutil
import os
import sys
#sys.path.append(os.environ['WORKSPACE'])
#print (sys.version )
#print(os.path.realpath(__file__))
import xmlrunner
def TestExecutor():
if os.path.isdir('output//'):
shutil.rmtree('output//')
else:
print("Directory is not Available")
#runner = unittest.TextTestRunner()
print (sys.version )
print(os.path.realpath(__file__))
runner = xmlrunner.XMLTestRunner(output="output//")
runner.run(TestSection())
if __name__ == '__main__':
TestExecutor()
my Jenkins windows пакетная команда:
set PYTHONPATH=%PYTHONPATH%
cd C:\Users\XXXX\PycharmProjects\StringTest\
python TestExecutor.py
Даже я пытался с Jenkin выполнить параметр оболочки
export PYTHONPATH=$WORKSPACE:$PYTHONPATH
cd C:\Users\XXX\PycharmProjects\StringTest\
python TestExecutor.py
Та же проблема. Не могли бы вы проверить и подтвердить?