Torna indietro   Hardware Upgrade Forum > Software > Programmazione

La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
Abbiamo visto ancora una volta la Formula E da vicino, ospiti di Jaguar TCS Racing. In questa occasione però curve e rettilinei erano quelli di un circuito permanente, molto diverso dagli stretti passaggi delle strade di Roma
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming
Lenovo ha puntato forte sul gaming negli ultimi anni e lo testimoniano i marchi LEGION e LOQ, il primo per gli amanti delle massime prestazioni e dell'assenza di compromessi, il secondo per chi desidera soluzioni dal buon rapporto tra prestazioni e prezzo. Abbiamo provato due esponenti dell'offerta, così da capire l'effettiva differenza prestazionale.
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing propone sul mercato non uno ma ben due auricolari nuovi: Ear di terza generazione e Ear (a) ossia un nuovo modello a basso costo pronto a ritagliarsi una fetta di mercato. Entrambi rimangono fedeli al marchio per il design ancora trasparente ma fanno un balzo in avanti notevole per qualità e soppressione del rumore.  
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-05-2009, 10:16   #1
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
[python] importError

Ciao, sono alle prime armi con python e già sorgono i primi problemi...allora...ho installato pydev su eclipse. Per fare qualche prova ho creato due package "nested" e "nested2", ognuno di essi contiene due file (oltre i file __init__) che sono example ed example2 rispettivamente. I file sono i seguenti:
su example ho creato solo un metodo chiamato fib:
def fib(n):
a, b = 0, 1
while b < n:
print(b)
a, b = b, a+b

mentre in example2 voglio solo importare il metodo fib così da poterlo utilizzare. Ma se scrivo
from root.nested.example import fib

mi viene restituito un importError dicendomi che non riesce a trovare nessun modulo fib. La stessa prova l'ho fatta con IDLE (la shell di python) e non mi ha dato problemi....penso che sia un problema di path...ma come posso risolverlo??grazie
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 10:28   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
All'inizio del codice metti questo:
Codice:
import sys
sys.path.append('.')
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 10:43   #3
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
ho provato ma non funziona..mi ritorna sempre lo stesso errore...
...la struttura delle cartelle è fatta così, non so se può servire:

Prova (progetto)
---- src (source folder)
--------root (package)
------------nested (package)
example.py
------------nested2
example2.py

ho provato anche ad aggiungere la cartella Prova del progetto al PYTHONPATH andando sulle opzioni di pydev ma non funziona...
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 10:55   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Dipende tutto dalla cartella dove si trova il file principale. Mi dici dove l'hai piazzato?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 11:02   #5
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
su Vista il progetto è posizionato in:

C:\Users\Peppe\Documents\Prova
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 11:16   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
OK, e il file principale (mettiamo si chiami main.py) si trova in questa cartella?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 11:23   #7
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
mmm...non ho nessun file principale...l'idea era solo quella di far partire example2 in modo da richiamare il modulo fib...tra l'altro i file .py non sono classi..ho scritto solo il codice del modulo in uno e la chiamata al modulo nell'altro...
...non si può fare quello che ho fatto??
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 11:38   #8
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Dovrebbe funzionarti con

from root.nested.example import fib

se example2 è messo dentro la cartella Prova, ovviamente aggiungendo prima le due righe di codice che ho inserito.

Ricordati di controllare che la cartella CORRENTE del progetto dev'essere Prova, altrimenti non funziona.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 12:16   #9
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
non va neanche così....boh...non so più cosa fare....
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 12:21   #10
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
quello che mi restituisce è questo:
Traceback (most recent call last):
File "C:\Users\Peppe\Documents\Prova\src\root\nested2\example2.py", line 9, in <module>
from root.nested.example import fib
ImportError: No module named root.nested.example

il file example2 è il seguente:
import sys
sys.path.append('.')

from root.nested.example import fib

f = fib(10)
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 12:27   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Fai una cosa allora: metti tutto dentro un archivio zip e allegalo qui, così posso provarlo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 12:30   #12
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
ok grazie....
Allegati
File Type: zip Prova.zip (2.3 KB, 1 visite)
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 14:59   #13
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Come immaginavo, è un problema di path dei vari oggetti.

Se metti example2.py dentro la cartella src, e da qui fai lo eseguire da python, vedrai che funzionerà.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 15:03   #14
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
si ok così funziona..però se volessi creare più package e richiamare moduli da altri package come faccio?...fai conto che lo stesso esempio sulla shell IDLE funziona...
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 15:05   #15
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
inoltre, se dovessi creare un altro file all'interno del package nested che richiama la stessa funzione in example non funziona....

edit:
mi correggo...in questo caso funziona...
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 15:16   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Quote:
Originariamente inviato da pumppkin Guarda i messaggi
si ok così funziona..però se volessi creare più package e richiamare moduli da altri package come faccio?...
Ti basta assicurarti che i package siano sempre "raggiungibili" dal path.

Quindi se hai il package "pippo" che usa il modulo "pluto" del package "topolino", e tu usi "pippo", devi assicurarti che "pippo" e "topolino" siano sempre raggiungibili da Python.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 15:17   #17
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
scusa ma nel mio caso non erano raggiungibili??...io nel PYTHONPATH avevo messo la source folder fino a src
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 15:48   #18
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
quel che intendo è: due file che appartengono a package differenti di uno stesso progetto non possono importare moduli dell'uno o dell'altro?
pumppkin è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 15:58   #19
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
Quote:
Originariamente inviato da pumppkin Guarda i messaggi
scusa ma nel mio caso non erano raggiungibili??...io nel PYTHONPATH avevo messo la source folder fino a src
Sì, ma prima avevi example2 che non stava in src, ma in fondo a uno dei due package.
Quote:
Originariamente inviato da pumppkin Guarda i messaggi
quel che intendo è: due file che appartengono a package differenti di uno stesso progetto non possono importare moduli dell'uno o dell'altro?
E' possibile. Adesso non so di preciso se è possibile che ognuno importi moduli dell'altro, ma sicuramente funziona in una sola direzione (un package che usa moduli di un altro).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2009, 16:08   #20
pumppkin
Member
 
Iscritto dal: Feb 2005
Messaggi: 295
ah ok quindi example non può richiamare un modulo di example2 se quest'ultimo richiama un modulo di example...
pumppkin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
F1 24 introdurrà migliorie al mod...
Arriva Omnissa, che prenderà in c...
Turista americano torna dall'Europa e si...
Larian al lavoro su due nuovi giochi, cr...
Microsoft Office LTSC 2024 disponibile i...
Fallout 4 è il gioco più v...
Razer Kishi Ultra: ecco il controller pe...
Il Dimensity 6300 di MediaTek porta il 5...
Google combina i team Android, Chrome e ...
Axiante vuole indagare come le imprese i...
Italia quinto mercato europeo per i vide...
Apple celebra la Giornata della Terra co...
La funzionalità 'AI Explorer' di ...
ASUS ROG Ally: la versione più potente c...
Il patrimonio di Musk è crollato ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www1v