尝试在Python中包含pypoker和poker-eval包

2 投票
3 回答
2819 浏览
提问于 2025-04-16 14:03

好的,我终于成功安装了poker-eval和pypoker。如果我在cygwin中进入pypoker文件夹,输入python test.py,程序能正常运行。但是,如果我把test.py文件复制到NetBeans项目的主文件中,就会出现错误ImportError: No module named _pokereval_2_7。问题是,我在使用wxpython,它不让我从cygwin执行我的程序。我是在NetBeans中开发整个项目的。如果我尝试包含pypoker-eval,就会出现这个错误。

> Traceback (most recent call last):  
> File
> "C:\Users\JeremyLaptop\Documents\NetBeansProjects\testing\src\testing.py",
> line 36, in <module>
>     from pokereval import PokerEval   File
> "C:\Users\JeremyLaptop\Desktop\pypoker-eval-137.0\pokereval.py",
> line 29, in <module>
>     _pokereval = __import__('_pokereval_' + sys.version[0] + '_' + sys.version[2])
> ImportError: No module named _pokereval_2_7. 

我已经尝试了几个小时想搞定这个问题,希望你们中的某个人能帮帮我。

顺便说一下:我使用的是Windows 7,pypoker和pokereval文件夹在我的桌面上。项目保存在C:/users/myname/my documents/netbeansprojects

3 个回答

0

我遇到过类似的问题。它没有默认安装到我Python的默认位置。如果你也遇到类似的情况,那可能是因为它不在你的PYTHONPATH里面。你可以通过提供一个路径(或者在NetBeans中调整路径,虽然我不太确定具体怎么做,但这应该是个常规操作)来解决这个问题,或者把网站包的内容复制到你的项目里。

0

你可以在这里找到一个现成的德州扑克7张和5张牌的评估器,里面有文档说明,更多的解释可以在这里找到。这个评估器叫做“SpecialKEval”。如果你有任何反馈,可以通过里面提供的邮箱联系。

通常情况下(大约97%的时间),你只需要做6次加法和几次位移操作就可以了。这个算法使用了一个生成的查找表,大小大约是9MB的内存,而且生成速度非常快,几乎是瞬间完成。成本很低。所有这些操作都是在32位系统中完成的,并且将7张牌的评估器“内联”后,我的笔记本电脑每秒可以评估大约5000万手随机生成的牌。

这可能是你在项目中一个有用的替代方案。

0

快速看一下这个源代码,可以发现这个库似乎不支持Python 2.7。建议你试试用Python 2.6。

撰写回答