So installieren Sie die Python -Datenbankbibliothek für die Arbeit mit Robotframework - API -Problem

StackOverflow https://stackoverflow.com/questions/8824270

Frage

Ich bin auf einer Windows 7 64 -Bit -Maschine mit Python 2.7 und versuche, die Python -Datenbankbibliothek in Robotframework zu verwenden. Ich habe zuvor eine Java -Bibliotheksdatei verwendet, aber jetzt möchte ich die Python -Bibliothek verwenden.

Ich bin gegangen Github und heruntergeladene Version 0.6.

Ich habe auch eine Setup-Datei und MySQL-Python von installiert hier

Wenn ich jedoch versuche, die Datenbankbibliothek zu installieren (mit Python setup.py Build) Ich erhalte den folgenden Fehler:

Traceback (most recent call last):
  File "setup.py", line 25, in <module>
    from DatabaseLibrary import __version__
  File "src\DatabaseLibrary\__init__.py", line 15, in <module>
    from connection_manager import ConnectionManager
  File "src\DatabaseLibrary\connection_manager.py", line 16, in <module>
    from robot.api import logger
ImportError: No module named api

Warum habe ich nicht robot.api Und wie bekomme ich es und installiere es? Oder gibt es eine einfachere Möglichkeit, die Python -Datenbankbibliothek zu installieren?

War es hilfreich?

Lösung

Es scheint, dass die Datenbankbibliothek Roboter Framework -Interna verwendet, aber Roboter -Framework nicht als Abhängigkeit auflistet. Das Robot.api -Paket wurde in RF 2.6 eingeführt, sodass das neueste Roboter -Framework aktualisiert/installiert wird (von Projektseiten) sollte Ihr Problem lösen

Andere Tipps

Stellen Sie zunächst die Integrität Ihres Moduls sicher, bevor Sie versuchen, zu installieren. Um ein Modul mit Distutils (setup.py) zu installieren, müssen Sie diesen Befehl als Administrator ausführen:

python setup.py install

Das sollte das Setup ausführen und an Sie alle fehlenden Abhängigkeiten zurückweisen.

Alternativ können Sie PIP von diesem Ort aus installieren: PIP -Projekt Homepage. Ihre Seite enthält Anweisungen zum Installieren von PIP. Es ist ein Paketmanager für Python, ähnlich wie Birne für PHP, CPAN für Perl oder Gem für Ruby. Wenn Sie es installiert haben, können Sie Pakete mit diesem Befehl installieren:

pip install <module>

Das Problem war, dass ich den Ordner "API" im Ordner "Roboter" in "Python27 lib Site-Packages" nicht hatte, da ich nicht die neueste Version von RF hatte. Und Logger ist eine neue Protokollierungs -API für Roboter Framework 2.6 seit Oktober 2011. (als Janne wie hervorgehoben)

Zwei Korrekturen für dieses Problem scheinen:

  1. Getestet und bearbeitet, aber nicht empfohlen, es sei denn, Sie möchten nicht rF aktualisieren: Bearbeiten Sie die 2 Dateien "Connection_Manager.py" und "query.py" in "Robotframework-databaselibrary-0.6", sodass keine Abhängigkeit vom Robotframework-Protokoller vorhanden ist. Dies ist eine einfache und schnelle Bearbeitung, bei der Sie das "von Robot.api importieren" in "Protokollierung" und "Logger" in "Protokollierung" siehe "http://robotframework.googlecode.com/hg/doc/userguide /RobotframeworkUSerguide.html#Programmatic-Logging-APIS "Für weitere Details.

  2. Installieren Sie Robotframework neu und stellen Sie sicher, dass der Ordner "API" erstellt wird. Dies wird empfohlen, da dies der beste Ansatz ist.

(Als Antwort als zu lange für einen Kommentar hinzugefügt)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top