2015-01-28 5 views
0

Я пытался увидеть, как нос & unittesting были использованы в пакете, о котором я узнал. В этом пакете используется nosetester, который снабжен numpy (почему это тоже меня смущает). Мой nosetester.py находится в /usr/local/lib/python2.7/dist-packages/numpy/testing/. Я запускаю Python 2.7.6. Тем не менее, когда я добавить трассировку заявление формы:Почему Python2.7 настаивает на утверждении печати Python3?

print "Hi" 

методу __init__ класса NoseTester, я получаю ошибку синтаксиса:

File "/usr/local/lib/python2.7/dist-packages/numpy/testing/nosetester.py", line 182 
print "Hi" 
     ^

SyntaxError: недопустимый синтаксис

Когда Я использую

print ("Hi") 

все работает нормально. Я знаю, что мой переводчик Python использует 2.7.6:

$ python 
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 

Это оставляет мне интересно, почему настойчивое на Python3 и там где-нибудь еще, что я мог бы работать в этом?

+3

Есть ли '__future__ import print_function' строка в nosetester.py? – senshin

+0

@senshin - Да. Спасибо. – user1245262

ответ

2

Похож nosetester.py имеет линию как

from __future__ import print_function 

Это делает заявление для печати python2 стиля print "foo" недоступных и требует, чтобы вы использовать функцию print("foo") печати Python3 стиля вместо этого.

 Смежные вопросы

  • Нет связанных вопросов^_^