2012-12-12 12 views
7

Ottiene l'errore "Variabile non definita dall'importazione" in Eclipse 3.7.2 PyDev 2.7.1 su Linux Mint Maya (Cinnamon) ogni volta che importa un modulo da numpy. Il problema sorge solo quando si importa numpy; altri moduli funzionano bene."Variabile indefinita dall'importazione" durante l'importazione di numpy in eclipse pydev

Info: numpy è compilato rispetto alle librerie Intel MKL. Python 2.7.3 [GCC 4.6.3]

esempio:

import numpy as np 

a = np.array([1, 2]) 

Messaggio di errore in editor di PyDev: "Variabile non definita da importazione: array"

ricevo errori simili per altri sottomoduli numpy .

Il codice viene eseguito correttamente all'interno di Eclipse o in un terminale. Il problema è presente solo nell'editor di Eclipse-PyDev.

risposta

2

Il LD_LIBRARY_PATH deve contenere percorsi alle librerie MKL. Anche se LD_LIBRARY_PATH è impostato correttamente, deve essere esplicitamente specificato in Eclipse sotto Finestra> Preferenze> Interprete - Python, sotto la scheda "Ambiente" sul lato destro. Aggiungi una nuova variabile denominata "LD_LIBRARY_PATH" e incolla il contenuto di $LD_LIBRARY_PATH.

Una volta terminato, gli errori spariranno dal codice solo se una riga viene aggiunta al codice che utilizza un oggetto numerico in modo che le importazioni vengano nuovamente controllate.

+0

Questo non sembra funzionare per me. – user10

+0

Il mio problema: ha funzionato bene in una sessione.Dopo aver chiuso e riavviato LiClipse, ho ricevuto questo errore. Il secondo paragrafo ha risolto il mio problema. Per me, le azioni del primo non erano necessarie (o forse ho fatto qualcosa di simile all'inizio configurando LiClipse). – BenB

+1

Sembra che ci siano parecchi componenti per rendere PyDev (Eclipse/Liclipse) riconoscibile numpy. Per prima cosa, devi verificare se numpy è installato correttamente come suggerito da @ElDuderino: '>>> dall'importazione numpy *' Quindi devi "insegnare" a pydev per preparare l'ambiente a numpy. Per me, era il percorso mancante per i file numpy. – user1898037

1

Le librerie MKL e Numpy sono la stessa cosa? La risposta di @ user1898039 non aveva senso per me (non sono sicuro di quale percorso utilizzare per quella proprietà.

Ho trovato un altro modo per risolvere questo problema - Ho controllato la riga di comando di python per vedere se era stato installato numpy ci chiamando:.

>>> import from numpy *

non era così, nonostante il fatto che NumPy stava mostrando in PyDev nella scheda "builtin forzati" nelle proprietà interprete Python, non era disponibile per Python da la riga di comando e immagino che questo abbia causato il problema all'interno di PyDev.

Quindi, ho risolto il problema andando sul sito di Numpy e installando la versione più recente per Windows. Tecnicamente sono andato su un altro sito che aveva una versione AMD64 dell'installer per Windows, compralo, lo stesso. Successivamente ho cercato di ottenere la variabile PYTHONPATH per ricalcolare tutte le librerie (questo potrebbe non essere stato necessario), ma gli errori continuavano a essere visualizzati nel file su tutte le chiamate a array(). Ho completato il completamento automatico del pacchetto numpy per ottenere l'elenco delle funzioni, l'array selezionato() da quella lista e all'improvviso tutti gli errori sono stati cancellati e ora tutto è a posto.

0

sono stato in grado di risolvere questo aggiungendo il seguente percorso di PYTHONPATH (PyDev => Python Interpreti => selezionare un interprete => Biblioteche):

/usr/local/anaconda/lib/python2.7/lib/lib-dynload 

pacchetti installati (tra gli altri):

conda==3.10.1 
numpy==1.9.2 
scipy==0.15.1 
0

Sono riuscito a risolverlo aggiornando l'interprete Phyton in Eclipse. Basta fare clic sul pulsante Applica dopo aver installato con successo il modulo Numpy.

+0

Per quale versione di OS/Eclipse ha funzionato? Non ha funzionato per me. Potrebbe essere un OS o una versione di Eclipse. Sono in esecuzione Windows 7 a 32 bit, con Eclipse 3.6.2. (Antico, lo so ...) –

Problemi correlati