Jenkins python ошибка модуля импорта при выполнении пакетной команды execute windows - PullRequest
0 голосов
/ 01 мая 2020

Сегодня я скачал программное обеспечение 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

Та же проблема. Не могли бы вы проверить и подтвердить?

...