Запуск покрытия внутри virtualenv

Недавно я наткнулся на некоторые проблемы с выполнением измерений охвата в виртуальной среде. Я не помню подобных проблем в прошлом, и я не смог найти решение в Интернете.

В основном, когда я пытаюсь запустить набор тестов в virtualenv, он работает нормально. Но как только я пытаюсь сделать это с помощью coverage , он терпит неудачу из-за отсутствия необходимых им модулей. Основываясь на некотором ответе на StackOverflow, я проверил свой сценарий и выяснил, что в coverage используется другой интерпретатор, даже если он работает из одного и того же virtualenv .

Вот как воспроизвести его:

 $ virtualenv --no-site-packages venv New python executable in venv/bin/python Installing Setuptools................................................done. Installing Pip.......................................................done. $ source venv/bin/activate (venv)$ echo 'import sys; print(sys.executable)' > test.py (venv)$ python test.py /home/tadeck/testground/venv/bin/python (venv)$ coverage run test.py /usr/bin/python 

Возникает вопрос: как легко работать с виртуальной средой? Я мог бы изменить sys.path или установить необходимые модули по всей системе, но должен быть более чистый способ.

2 Solutions collect form web for “Запуск покрытия внутри virtualenv”

поставьте в новом вену

 [alex@gesa ~]$ virtualenv venv [alex@gesa ~]$ source venv/bin/activate (venv)[alex@gesa ~]$ pip install coverage (venv)[alex@gesa ~]$ echo 'import sys; print(sys.executable)' > test.py (venv)[alex@gesa ~]$ python test.py /home/alex/venv/bin/python (venv)[alex@gesa ~]$ coverage run test.py /home/alex/venv/bin/python (venv)[alex@gesa ~]$ 

Я должен был покинуть свой virtualenv после установки покрытия и активировать его, чтобы получить покрытие для работы.

 [alex@gesa ~]$ virtualenv --no-site-packages venv [alex@gesa ~]$ source venv/bin/activate (venv)[alex@gesa ~]$ pip install coverage (venv)[alex@gesa ~]$ deactivate [alex@gesa ~]$ source venv/bin/activate 
  • Virtualenv: глобальные пакеты сайтов и пакеты сайтов в виртуальной среде
  • Установить pysvn в virtualenv
  • Как я могу запустить lsvirtualenv или любую другую функцию virtualenvwrapper через скрипт python?
  • Проблемы с pip install numpy - RuntimeError: Broken toolchain: невозможно связать простую программу C
  • Могу ли я перемещать virtualenv?
  • При запуске Virtualenv 1.6 на Mac OS X 10.6.7, Python 2.7.1
  • Установите pip и virtualenv, курицу и дилемму с яйцом?
  • предотвращение покрытия Python от включения пакетов сайтов виртуальной среды
  • Django и «virtualenv» - правильная структура проекта
  • Запуск OpenCV из виртуального виджета Python
  • Установите два модуля python с тем же именем
  • Python - лучший язык программирования в мире.