ImportError: Нет модуля с именем jira

Привет, я запускаю скрипт Python, который переводит билеты из «ожидающей сборки» в «в тесте» в Jira. Я запустил его на своем локальном компьютере (Mac OS X), и он отлично работает, но когда я пытаюсь включить его в качестве задачи сборки в мое развертывание бамбука, я получаю сообщение об ошибке

"из jira импортировать JIRA

ImportError: нет модуля с именем jira"

Я вызываю файл python из задачи сценария, такой как следующий «python myFile.py», а затем я указываю местоположение для myFile.py в поле рабочего подкаталога. Я не думаю, что это проблема, потому что ошибка показывает, что мой скрипт работает нормально. Я проверял несколько раз, и пакет jira находится в пакетах сайтов и находится в пути. Я установил с помощью pip и использую python 2.7.8. ОС SuSE на нашем сервере


person Karsten Andersen    schedule 11.08.2016    source источник
comment
Вы уверены, что вызов «python» использует тот же бинарный файл и сайт-пакеты python, что и вызов «pip»? Вы можете найти версию pip и подключенную версию Python, указав 'pip - -version'. После того, как вы это проверили, выполните «заморозку пипсов», чтобы просмотреть список всех установленных пакетов и дважды проверить, действительно ли установлена ​​jira. Находясь в интерактивном интерпретаторе Python, вы также можете выполнить «help()», а затем «modules», чтобы получить список всех модулей, локально установленных для этого интерпретатора.   -  person FMaz    schedule 11.08.2016
comment
Я сделал все это, и jira четко указана, а pip подключен к правильной версии Python. Все еще не знаю, что не так   -  person Karsten Andersen    schedule 11.08.2016
comment
Я была такая же проблема. Ошибка возникла, когда я запустил этот test.py с python3 вместо python 2.*. Ранее я устанавливал его с помощью pip install --user jira   -  person MonkeyMonkey    schedule 21.06.2017


Ответы (2)


Очень сложно понять, в чем твоя проблема. Насколько я понял, вы говорите, что когда вы запускаете свой модуль как отдельный файл, все работает, но когда вы его импортируете, вы получаете ошибку. Вот несколько шагов к решению проблемы.

  1. Убедитесь, что ваш скрипт находится в пакете Python. Для этого убедитесь, что в том же каталоге, где находится пакет, есть (обычно) пустой файл __init__.py.
  2. Убедитесь, что ваш скрипт не импортирует что-то еще в блоке, который выполняется только тогда, когда вы запускаете файл как скрипт (if __name__ == "__main__")
  3. Убедитесь, что путь python включает ваш пакет и виден скрипту (вы можете сделать это, запустив print os.environ['PYTHONPATH'].split(os.pathsep)
person Dmitry Torba    schedule 11.08.2016
comment
Я не думаю, что вы правильно понимаете его проблему. @Karsten Может быть, тебе стоит перефразировать свой вопрос? - person FMaz; 11.08.2016
comment
Так что да, как автономный он работает, но когда я пытаюсь запустить его через бамбук на нашей машине сборки (SuSE) в качестве задачи сценария, я получаю сообщение об ошибке импорта. Пакет jira был загружен на машину сборки с помощью pip и находится в каталоге site-packages для python. Он также указан в PYTHONPATH, но по какой-то причине я все еще получаю сообщение об ошибке импорта. Надеюсь, это лучше объясняет это. - person Karsten Andersen; 11.08.2016

Убедитесь, что у вас нет другого файла или каталога с тем же именем, что и модуль, который вы пытаетесь импортировать.

person martin    schedule 13.02.2018
comment
Добро пожаловать в StackOverflow. Однострочники обычно не подходят в качестве ответов. Вы должны попытаться расширить свой ответ или опубликовать его в качестве комментария. - person AfroThundr; 13.02.2018