Первый вопрос, поэтому, пожалуйста, расскажите мне, если я совершил ошибку новобранец или неясность!Coverage.py Модуль Python - ошибки импорта при запуске скрипта
У меня возникли проблемы с правильной работой модуля «покрытия» для Python.
У меня нет разрешений для изменения или добавления в каталог Python, поэтому я не могу установить easy_install для настройки покрытия. Работала над этим, добавив каталог покрытия в мой путь к python. Покрытие прекрасно работает, ввод covereage --version
в оболочку выдает версию. coverage help
отображает все доступные команды. Все кажется прекрасным. Я могу использовать покрытие на небольших простых скриптах.
Однако при запуске большого скрипта с количеством импорта по 5 модулям (сценарий, который был протестирован как работающий) при запуске команды с coverage run [normal commands]
скрипт выполняет и сбой, , потому что некоторые модули не могут быть найдены ,
Вот расстройство -
командной строки без покрытия (работает отлично):
Я призываю сценарий, выполнив: ./script_name.py arg1 arg2 arg3
Когда я пытаюсь запустить скрипт, введя: python script_name.py arg1 arg2 arg3
, в сценарий не работает, не удалось импортировать модули:
Error message:
ImportError: No module named cx_Oracle
Командная строка с покрытием:
coverage run ./script_name.py arg1 arg2 arg3
"No file to run: 'main.py'"
coverage run {[full_path_to_module_name}./script_name.py arg1 arg2 arg3
Now we are getting somewhere. Coverage is clearly invoked and working, put I get that import error:
Error message:
ImportError: No module named cx_Oracle
Может ли кто-нибудь помочь мне с этой проблемой?
Hi Ned. Спасибо за вашу поддержку и хорошо сделано на отличном пакете. Я использовал его локально без этих проблем, и он творит чудеса. Мне было интересно, можете ли вы направить меня в нужное место, чтобы решить эту проблему. Вы правы, что вызов «python [имя скрипта]» без модуля выдает те же ошибки. В идеале я хотел бы просто вызвать «покрытие run /{full_path_to_script_name.py» »и запустить его, но я получаю сообщение« Нет файла для запуска: »/{full_path_to_script_name.py}. Любые мысли? Команда отлично работает без «покрытия». Спасибо – mamoma
Не беспокойтесь, исправил это! Я думаю, что проблема была совершенно уникальной для среды, в которой я работаю, но мне пришлось изменить несколько путей в файлах и включить некоторые другие. Бит лабиринт , но с удовольствием разработаем, если это принесет пользу кому-то другому. – mamoma
@NedBatchelder: Я думаю, что у меня такая же проблема, и ваш ответ помог ее диагностировать.Я запускаю внутри 'virtualenv' и' python -c 'import sys; print (sys.executable) '' дает мне местоположение в virtualenv, но когда я выполняю его с помощью 'span run', он показывает мне системный интерпретатор. Не могли бы вы рассказать о том, как с этим бороться, и попросите «охват» использовать virtualenv, который в настоящее время активирован? – Tadeck