Come installare python libreria di database per il lavoro con robotframework - problema API
-
27-10-2019 - |
Domanda
Sono su una macchina a 64 bit di Windows 7, utilizzando Python 2.7 e sto cercando di utilizzare la libreria di database pitone in robotframework. Ho usato in precedenza un file di libreria Java, ma ora voglio utilizzare la libreria python.
Sono andato a github e versione scaricata 0,6 .
Inoltre ho installato un file di installazione e MySQL-python da qui
Tuttavia quando provo ad installare la libreria di database (utilizzando python setup.py
build) ottengo il seguente errore:
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
Perché non ho robot.api
e come faccio a farlo e installarlo? O c'è un modo più semplice per installare la libreria di database pitone?
Soluzione
Sembra che la libreria di database utilizza interni Robot quadro, ma non elenca Robot quadro come di dipendenza. Il pacchetto è stato introdotto nel robot.api RF 2.6, quindi l'aggiornamento / installazione del più recente quadro Robot (da pagine del progetto ) dovrebbe risolvere il problema
Altri suggerimenti
In primo luogo garantire l'integrità del modulo prima di provare a installare. Per installare un modulo usando Distutils (setup.py) è necessario eseguire questo comando come amministratore:
python setup.py install
Questo dovrebbe eseguire l'installazione e la relazione di nuovo a voi eventuali dipendenze mancanti.
In alternativa, è possibile installare PIP da questa posizione: PIP progetto home page . La loro pagina fornisce istruzioni su come installare PIP, è un gestore di pacchetti per Python, simile a PEAR per PHP, Perl o CPAN per gemma per Ruby. Quando lo avete installato potete installare i pacchetti con questo comando:
pip install <module>
Il problema è stato non ho avuto la cartella "API" nella cartella "robot" in "Python27 \ lib \ site-packages", come non ho avuto l'ultima versione di RF. E logger è una nuova API di registrazione per Robot Framework 2.6 dal ottobre 2011. (Per quanto Janne come fuori punte)
Due correzioni per questo problema sembrano essere:
-
Testato e ha funzionato, ma non è raccomandato a meno che non volete aggiornamento RF: Modificare i file di 2 "connection_manager.py" e "query.py" in "robotframework-databaselibrary-0,6" in modo che non v'è alcuna dipendenza il logger Robotframework. Si tratta di una facile e rapida modifica, in cui si sostituisce il "da robot.api importazione logger" a "logging di importazione" e "logger" a "logging" per maggiori dettagli, vedere "http://robotframework.googlecode.com/hg/doc/userguide/RobotFrameworkUserGuide.html#programmatic-logging-apis".
-
Reinstallare Robotframework e garantire la "API" cartella viene creata. Questo è raccomandato in quanto è l'approccio migliore.
(aggiunta come una risposta troppo lungo per un commento)