0

我正在尝试做这个小教程http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python%2Blibtcod,_part_1

在它说四处走动之前在页面下方一点点,它说测试你到目前为止所拥有的东西。我正在使用 Pycharm,这是我第一次使用外部库或任何你称之为的库。

这就是我到目前为止所拥有的,这正是他们的示例中的内容:

import libtcodpy as libtcod

#actual size of the window
SCREEN_WIDTH = 80
SCREEN_HEIGHT = 50

LIMIT_FPS = 20  #20 frames-per-second maximum


libtcod.console_set_custom_font('terminal.png', libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)

libtcod.console_init_root(SCREEN_WIDTH, SCREEN_HEIGHT, 'python/libtcod tutorial', False)

libtcod.sys_set_fps(LIMIT_FPS)

while not libtcod.console_is_window_closed():

    libtcod.console_set_default_foreground(0, libtcod.white)

    libtcod.console_put_char(0, 1, 1, '@', libtcod.BKGND_NONE)

    libtcod.console_flush()

每当我运行它时,我都会收到此错误。

Traceback (most recent call last):
  File "D:\Programming\Project 1\Rogue Like\libtcodpy.py", line 57, in <module>
    _lib = ctypes.cdll['./libtcod-mingw.dll']
  File "C:\Python34\lib\ctypes\__init__.py", line 426, in __getitem__
    return getattr(self, name)
  File "C:\Python34\lib\ctypes\__init__.py", line 421, in __getattr__
    dll = self._dlltype(name)
  File "C:\Python34\lib\ctypes\__init__.py", line 351, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:/Programming/Project 1/Rogue Like/firstrl.py", line 1, in <module>
    import libtcodpy as libtcod
  File "D:\Programming\Project 1\Rogue Like\libtcodpy.py", line 60, in <module>
    _lib = ctypes.cdll['./libtcod-VS.dll']
  File "C:\Python34\lib\ctypes\__init__.py", line 426, in __getitem__
    return getattr(self, name)
  File "C:\Python34\lib\ctypes\__init__.py", line 421, in __getattr__
    dll = self._dlltype(name)
  File "C:\Python34\lib\ctypes\__init__.py", line 351, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

谢谢

4

2 回答 2

1
于 2014-10-17T00:50:43.467 回答
0

尽管我使用的是 Emacs 和 Python 2.7,但我自己也一直在努力解决同样的问题。

为我解决问题的是安装 32 位 python 而不是 64 位 python。libtcod 中的 .dll 是 32 位的,Windows 上的 64 位 python 与 32 位 .dll 不兼容。

另外,您可能想检查 libtcod 是否与 python 3 兼容。我发现有两个地方讨论了该主题,但我无法确定 libtcod-1.5.1 是否与后来的 3.xs 兼容。

我还建议尝试运行 libtcod 文件夹中的 samples_py.py 来测试这两个问题,就好像它运行的是您的文件夹设置或路径,而不是您的 python 版本。

于 2014-10-18T13:58:35.403 回答