Tox virtualenv путаница
Просто начинаем использовать tox для тестирования библиотеки с Python 2.7 и 3.4. После использования следующего tox.ini
В файле у меня было два вопроса:
[tox]
envlist = {py27,py3}
sitepackages = True
[testenv]
deps= -rrequirements.txt
commands = nosetests -w tests/ --with-coverage --cover-erase --cover-package=pyppa --with-xunit --xunit-file={toxinidir}/build/ppa-python-sdk_{envname}_unit_tests.xml
coverage xml -o {toxinidir}/build/{envname}_coverage.xml
После запуска tox
У меня были следующие вопросы:
- Проект зависит от
numpy
а такжеscipy
которые установлены в моей глобальной среде, я думал, что с помощьюsitepackages = True
вtox.ini
файл не позволит токсу установить их в вирулентной среде и заставит использовать их в глобальной среде, но токси установит последние версии в.tox/
виртуальные среды для 2.7 и 3. Я неправильно понимаюsitepackages
Директива? - Глядя под
.tox/
Каталог в каталогах виртуальной среды Я вижу следующую (сокращенно) структуру:
,
.tox/
py27/
include/
python2.7/
lib
python2.7/
...
py3/
include/
python2.7/
lib
python2.7/
...
Уверяю вас, что это не опечатка. Есть каталоги с именем python2.7
под виртуальной средой py3 include
а также lib
подкаталоги и это единственные подкаталоги в include
а также lib
, Кажется, все работает, но мне просто любопытно, почему эти каталоги названы так. Может кто-то пролить свет на это?
Благодарю.
1 ответ
Решение
1) sitepackages
не является глобальным параметром Tox. Это настройка среды, поэтому поместите ее под [testenv]
,
2) py3
не предопределенный вариант. использование py34
вместо.