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?

È stato utile?

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:

  1. 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".

  2. 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)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top