python-chess - AttributeError:模块'chess'没有属性'pgn'

时间:2017-03-07 06:26:10

标签: python python-chess

我正在尝试将python-chess游戏导出到pgn文件。 documentation推荐 -

import chess
.
.
chessBoard = chess.Board()
.
.    
#Play the game and when over do below
game = chess.pgn.Game.from_board(chessBoard)
with open('output.pgn', 'a') as the_file:
    print(game, file=the_file, end="\n\n")

但是chess.pgn.Game.from_board(chessBoard)行引发了以下错误 -

  

AttributeError:模块'chess'没有属性'pgn'

当我输入pgn时,

chess.也会显示在intellisense中,因此编辑器也能够看到pgn中有chess。这是在Windows 10上的VS2015中运行的python 3.x.

可能导致什么原因?

2 个答案:

答案 0 :(得分:6)

要使用pgn模块,您还必须执行import chess.pgn

答案 1 :(得分:1)

对于那些无法使用已接受答案的人,请检查是否已将文件命名为chess.py(在其中写入了import chess)。如果是这种情况,请将其更改为其他内容,例如pychess.py

我相信,将文件命名为chess.py不能正常工作的原因是,它实际上是在自我导入,当然那里没有chess.Board()