Nosetests --with-pylons test.ini => Ошибка: нет такой опции: --with-pylons

Я следил за приложением для запуска тестов проекта пилонов:

http://pylonshq.com/docs/en/0.9.7/i18n/#testing-the-application

Но когда я бегу:

 nosetests --with-pylons test.ini

Он сообщает об ошибке:

E:\pylons\helloworld>nosetests --with-pylons test.ini
Usage: nosetests-script.py [options]

nosetests-script.py: error: no such option: --with-pylons

Почему Nosetests не знает --with-pylons, как это исправить?


person Freewind    schedule 06.09.2010    source источник


Ответы (4)


Я никогда не использовал --with-pylons. Когда я нахожусь в каталоге проекта, nosetests выполняет задание без каких-либо параметров.

Я на Linux с активированным соответствующим virtualenv. Может в винде по другому.

person Antoine Leclair    schedule 06.09.2010
comment
Большое спасибо Вам. Это просто потому, что я добавляю виртуальную среду при установке пилонов, но не активирую ее при тестировании. Я только что удалил пилоны и использовал easy_install pylons (без виртуальной среды), чтобы снова установить пилоны. На этот раз nosetests --with-pylons работает хорошо, и теперь я могу протестировать модели. Большое Вам спасибо. - person Freewind; 06.09.2010

Если вы используете Pylons 1.0.1, плагин для носа больше не регистрируется самим Pylons.

Обходной путь - добавить это в раздел entry_points вашего собственного проекта setup.py:

[nose.plugins]
pylons = pylons.test:PylonsPlugin
person ronnix    schedule 28.10.2012

Эта ошибка возникает в случаях, когда нос не может найти установленные пилоны. Это может случиться, если нос установлен общесистемно (например, через apt-get install python-nose), а Pylons установлен в виртуальной среде. В этом случае вы можете:

  • Установите Pylons для всей системы, что загрязнит вашу глобальную среду и сведет на нет цель создания виртуальной среды.
  • Установить нос в виртуальной среде (easy_install -U nose при активации виртуальной среды)
person Pēteris Caune    schedule 08.03.2011
comment
Это было именно так для меня. Я был удивлен, потому что обычно пакеты, которые я устанавливаю локально через pip, заменяют глобальный пакет, установленный дистрибутивом, но для носовых тестов это было не так (which nosetests), и мне пришлось sudo apt-get remove python-nose. - person metakermit; 19.08.2013

Если вы установили последнюю версию pylons с помощью pip, будет установлена ​​версия 1.0.1rc1. Нос не может найти плагин pylons.

Чтобы исправить этот переход на pylons 1.0.

pip uninstall pylons
pip install pylons==1.0

У меня была та же проблема, и я нашел решение здесь

person loyalBrown    schedule 30.03.2012
comment
Не могли бы вы добавить точку с запятой или && между командами, чтобы избежать удаления pip по ошибке? - person MRousse; 19.11.2018