2010-12-16 15 views

Respuesta

17

El archivo nosetests está en Python, por lo que solo debería ser una cuestión de ejecutarlo en su nueva versión. Encuentra donde está el archivo:

which nosetests 

continuación:

python2.6 /usr/bin/nosetests 

Ajuste del nombre y la ruta para que coincida con su sistema. No lo he probado, pero debería funcionar.

+0

gracias, lo haré así entonces ... –

+0

Esto está fallando con un 'ImportError', para mí ... – EOL

+0

@EOL - un ImportError para nariz, o para algo más. Necesitarás instalar nose dentro del Python con el que intentas ejecutarlo (y dentro del virtualenv, si es allí donde tratas de ejecutarlo). –

4

Bueno, lo que haría es instalar una versión diferente de Python (2.6 decir) y luego crear un virtualenv e instalar la nariz dentro de eso. Luego usará esa versión de la nariz y mantendrá sus cosas aisladas.

También puede considerar el uso de tox para tratar de tender un puente sobre los intérpretes.

Por último, simplemente puede ejecutar nose python2.6 $(which nose) [other options] args para ejecutar nose con el Python más nuevo.

+0

[Esta respuesta] (http://stackoverflow.com/a/13211456/1470262) a una pregunta relacionada muestra rápidamente cómo usar virtualenvs. –

+0

Además, estoy interesado en tu comentario "Finalmente", pero no puedo entender lo que quieres decir con eso. –

+0

El comando 'nose' real es un script de python. El '$ (que nariz)' se ampliará a la ruta completa del script (esto es virtualenv consciente por lo que obtendrá el exacto que está ejecutando). Al pasar explícitamente esto como argumento a un intérprete de Python preferido, se ejecutará la secuencia de comandos con ese intérprete. Entonces, si tiene 'nose' instalado en alguna parte con una versión anterior de python en la línea' #! ', Puede usar esto para cambiar el intérprete y ejecutar el script. –

Cuestiones relacionadas