2016-07-08 16 views
1

私はしばらくの間Python 2.7を使用しています。 突然、私はprintステートメントでエラーが発生しているので、今はPython 3.xの構文を使用する必要があります。私はPython環境に最近行った変更のみが1.4から1.5へのmatplotlibのを更新しましたが、あることpythonで印刷2.7

import sys 
print (sys.version) 
2.7.12 |Anaconda 2.3.0 (64-bit)| (default, Jun 29 2016, 11:07:13) [MSC v.1500 64 bit (AMD64)] 

:私は、私はまだ2.xのPythonのバージョンを実行していますことを確認倍増

print 'hello world' 
File "<ipython-input-462-d05d0c8adf1f>", line 1 
    print 'hello world' 
       ^
SyntaxError: invalid syntax 

print('hello world') 
hello world 

正直私は、問題が更新の正確な時点から始まったかどうかは言えません。

任意の助けをいただければ幸いです

+3

あなたは '__future__ import print_function'を持っていますか? – jonrsharpe

答えて

0

あなたはprint_function将来のインポートを使用しています(私は必要とされている私のシステム上の他のどの情報お知らせください)?

from __future__ import print_function 

この関数は、新しい印刷構文をPython 2コードにバックポートします。

>>> print 'hello' 
hello 
>>> from __future__ import print_function 
>>> print 'hello' 
    File "<stdin>", line 1 
    print 'hello' 
       ^
SyntaxError: invalid syntax 
>>> print('hello') 
hello 

は詳細についてはthe __future__ docsを参照してください:コードベースは、Python 2と3

例の両方で実行可能であるべきかどうかは、通常使用されています。

自分でインポートを使用していない場合は、問題の原因を絞り込むために、問題がipythonまたは正規のpythonにのみ発生するかどうかをテストできます。

+0

"あなたが使っているライブラリ" - 将来のステートメントはモジュールローカルなので、質問者ではなくライブラリにのみ影響します。 – user2357112

+1

@ user2357112ありがとう、私はそれを知らなかった。 –

+0

それを詳しく教えてもらえますか? 私はスクリプトでこれを使用したことはないので、私が使用しているライブラリの一部に含まれているはずです。 それは問題であるかどうか? カーネルを再起動するだけで問題が解決されたので、print_functionの将来のインポートを使用した可能性が非常に高いです – FLab

関連する問題