Fehlermeldung bei Package pokereval

Probleme bei der Installation?
Antworten
WeylandYutani
User
Beiträge: 3
Registriert: Mittwoch 3. Januar 2018, 11:48

hallo zusammen,

ich bin ein python-anfänger, habe aber programmierkenntnisse in anderen sprachen. ich möchte gerne das package "pokereval" https://pypi.python.org/pypi/pokereval/0.1.2 bei mir zum laufen bekommen (benutze python 3 und pycharm). ich habe das package über settings -> project interpreter hinzugefügt und es wird mir auch richtig angezeigt. danach habe ich den quick-start code

Code: Alles auswählen

from pokereval.card import Card
from pokereval.hand_evaluator import HandEvaluator

hole = [Card(2, 1), Card(2, 2)]
board = []
score = HandEvaluator.evaluate_hand(hole, board)
ausgeführt und bekomme folgende fehlermeldung
Traceback (most recent call last):
File "C:/Users/Michael/PycharmProjects/Poker/test.py", line 6, in <module>
from pokereval.card import Card
File "C:\Users\Michael\venv\Poker\lib\site-packages\pokereval\card.py", line 3, in <module>
class Card:
File "C:\Users\Michael\venv\Poker\lib\site-packages\pokereval\card.py", line 27, in Card
STRING_TO_SUIT = dict([(v, k) for k, v in SUIT_TO_STRING.iteritems()])
AttributeError: 'dict' object has no attribute 'iteritems'
was genau möchte mir python damit sagen und wie kann ich das problem fixen?

viele grüße, michael
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das Paket scheint nicht fuer Python3 vorbereitet. Du kannst es mal mit dem 2to3-Tool versuchen umzuwandeln, oder dich an den Autor wenden. Angesichts des Alters und der Inaktivitaet des Repositories wird das allerdings eine ziemliche Wette. Aber das bist du ja als Pokerspieler gewoehnt :)
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

Moin,

das Paket ist nur mit Python 2 kompatibel. Es existiert allerdings ein PR, der Python-3-Unterstützung hinzufügt. Ich kann dir nicht sagen, wie das in PyCharm geht, aber um das manuell zu installieren, kannst du das Repo vom PR-Ersteller klonen und dann im Repo-Verzeichnis `pip3 install --user -e .` ausführen. Das installiert das Paket für deinen Benutzer (`--user`, kann auch weggelassen werden).

Alternativ könntest du den Autor auch anpingen, ob er den PR mergen möchte. Wobei der Code nicht wirklich schön ist...
WeylandYutani
User
Beiträge: 3
Registriert: Mittwoch 3. Januar 2018, 11:48

danke für die schnellen antworten, ich werd mir den PR mal genauer anschauen, vllt. findet sich iwo auch ein handevaluator für py3.
Antworten