[Python] delimitatori testo in sqlite
Buongiorno, forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? a presto, massimo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo molto veloce! Ad ogni modo... Puoi fornirci il codice che utilizzi? Personalmente non ho trovato questo problema nell'inserimento di dati. Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db sqlite: magari può esserti utile. Occhio: magari devi fare un decode come ti segnalo nel codice csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '') campi=string.split(cnf['tabelle'][i],\n) for j in range(len(campi)): campo = re.search('(.+).+', campi[j]) if campo: campi[j]=campo.group(1) campi.pop(0) # Elimina il nome della tabella dai campi campi.pop(-1) # Elimina la parentesi finale dai campi print Riempio la tabella %s % i k=0 p=1 inserisci=INSERT INTO %s VALUES( % i for row in csv_reader: l=len(row) for m in range(l): row[m] = row[m].decode('latin1') if k == 0:# Controlla che i campi della tabella siano uguali a quelli del CSV!!! for c in range(len(row)): if row[c] == campi[c]: inserisci = %s %s % (inserisci,?, ) else: print DEVI CAMBIARE LA DEFINIZIONE IN CONFIGURAZIONE DI CREAZIONE TABELLA %s % row[c] else: dimensione=len(inserisci)-2 inserisci = inserisci[0:dimensione] # Inserendo ?, cancello l'ultima occorrenza di , inserisci = %s %s % (inserisci, )) cur.execute(inserisci,row) if k==300: print Ho finito di aggiungere %d record % (k*p) p=p+1 k=1 k=k+1 con.commit() Il giorno 05 novembre 2010 09:33, Massimo Capanni massimo.capa...@gmail.com ha scritto: Buongiorno, forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? a presto, massimo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
non ho ancora scritto il codice python, proprio perche' prima mi ponevo questo problema scrivendo a mano le query direttamente su Sqlite, ma evidentemente stavo sbagliando approccio :-) grazie del suggerimento. Il giorno 05 novembre 2010 09:44, Vittorio Zuccala' vittorio.zucc...@gmail.com ha scritto: Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo molto veloce! Ad ogni modo... Puoi fornirci il codice che utilizzi? Personalmente non ho trovato questo problema nell'inserimento di dati. Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db sqlite: magari può esserti utile. Occhio: magari devi fare un decode come ti segnalo nel codice csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '') campi=string.split(cnf['tabelle'][i],\n) for j in range(len(campi)): campo = re.search('(.+).+', campi[j]) if campo: campi[j]=campo.group(1) campi.pop(0) # Elimina il nome della tabella dai campi campi.pop(-1) # Elimina la parentesi finale dai campi print Riempio la tabella %s % i k=0 p=1 inserisci=INSERT INTO %s VALUES( % i for row in csv_reader: l=len(row) for m in range(l): row[m] = row[m].decode('latin1') if k == 0:# Controlla che i campi della tabella siano uguali a quelli del CSV!!! for c in range(len(row)): if row[c] == campi[c]: inserisci = %s %s % (inserisci,?, ) else: print DEVI CAMBIARE LA DEFINIZIONE IN CONFIGURAZIONE DI CREAZIONE TABELLA %s % row[c] else: dimensione=len(inserisci)-2 inserisci = inserisci[0:dimensione] # Inserendo ?, cancello l'ultima occorrenza di , inserisci = %s %s % (inserisci, )) cur.execute(inserisci,row) if k==300: print Ho finito di aggiungere %d record % (k*p) p=p+1 k=1 k=k+1 con.commit() Il giorno 05 novembre 2010 09:33, Massimo Capanni massimo.capa...@gmail.com ha scritto: Buongiorno, forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? a presto, massimo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
Ok, allora facci vedere delle query che hai scritto. Anche a questo proposito ti giro una delle viste che creo per un lavoro: se devi fare qualcosa di dinamico ti conosiglio vivamente le viste. Rimangono nel db sqlite anche quando il programma python termina e da python basta fare un SELECT * FROM VISTA Spero anche questo ti possa essere utile: CREATE VIEW AnticipiCorretta AS select QPR_AGENTE As AgenteCodice, AC_RAG_SOCIALE_1 As AgenteRagioneSociale, QPR_NUM_PRATICA Pratica, CQREP_00_STATO As Stato, CQREP_00_ATTRIBUTO As Attributo, julianday(date('now'))-julianday(strftime(%Y-%m-%d,substr(QPRAN_DATA,1,4) || - || substr(QPRAN_DATA,5,2) || - || substr(QPRAN_DATA,7,2))) As Giorni, NETTO As Netto, QPR_PRODOTTO As Prodotto, prodotti.Descrizione As ProdottoDescrizione, C/D As C/D, P/P/P As P/P/P, QPRAN_PROGRESSIVO As Progressivo, ANTICIPO As Anticipo, QPRAN_MODALITA As Modalita, QPRAN_DATA_STORNO As DataStorno, QPRAN_PROVENIENZA As Provenienza, QPRAN_DESTINATARIO As Destinatario, strftime(%Y-%m-%d,substr(QPRAN_DATA,1,4) || - || substr(QPRAN_DATA,5,2) || - || substr(QPRAN_DATA,7,2)) As DataErogazione from anticipi LEFT JOIN prodotti ON anticipi.QPR_Prodotto=prodotti.IDCodice INNER JOIN cqrep000f ON anticipi.QPR_NUM_Pratica=cqrep000f.CQREP_00_Pratica WHERE Stato = 30 and Attributo NOT LIKE 'RT' and DataStorno = 0 ORDER BY AgenteCodice ASC, Giorni DESC Il giorno 05 novembre 2010 09:57, Massimo Capanni massimo.capa...@gmail.com ha scritto: non ho ancora scritto il codice python, proprio perche' prima mi ponevo questo problema scrivendo a mano le query direttamente su Sqlite, ma evidentemente stavo sbagliando approccio :-) grazie del suggerimento. Il giorno 05 novembre 2010 09:44, Vittorio Zuccala' vittorio.zucc...@gmail.com ha scritto: Adoro sqlite soprattutto perchè ti permette di fare lavori semplici in modo molto veloce! Ad ogni modo... Puoi fornirci il codice che utilizzi? Personalmente non ho trovato questo problema nell'inserimento di dati. Ti riporto parte di mio codice per leggere un CSV e riportarlo su un db sqlite: magari può esserti utile. Occhio: magari devi fare un decode come ti segnalo nel codice csv_reader = csv.reader(filecsv, delimiter=';', quotechar = '') campi=string.split(cnf['tabelle'][i],\n) for j in range(len(campi)): campo = re.search('(.+).+', campi[j]) if campo: campi[j]=campo.group(1) campi.pop(0) # Elimina il nome della tabella dai campi campi.pop(-1) # Elimina la parentesi finale dai campi print Riempio la tabella %s % i k=0 p=1 inserisci=INSERT INTO %s VALUES( % i for row in csv_reader: l=len(row) for m in range(l): row[m] = row[m].decode('latin1') if k == 0:# Controlla che i campi della tabella siano uguali a quelli del CSV!!! for c in range(len(row)): if row[c] == campi[c]: inserisci = %s %s % (inserisci,?, ) else: print DEVI CAMBIARE LA DEFINIZIONE IN CONFIGURAZIONE DI CREAZIONE TABELLA %s % row[c] else: dimensione=len(inserisci)-2 inserisci = inserisci[0:dimensione] # Inserendo ?, cancello l'ultima occorrenza di , inserisci = %s %s % (inserisci, )) cur.execute(inserisci,row) if k==300: print Ho finito di aggiungere %d record % (k*p) p=p+1 k=1 k=k+1 con.commit() Il giorno 05 novembre 2010 09:33, Massimo Capanni massimo.capa...@gmail.com ha scritto: Buongiorno, forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? a presto, massimo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list
Re: [Python] delimitatori testo in sqlite
On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni massimo.capa...@gmail.com wrote: forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? Certo che esiste! E se provi a quotare a mano le stringhe, arriva la fatina dell'SQL... e ti spezza le ditina! :) cursor.execute() prende due argomenti: la stringa sql con dei segnaposto (in sqlite sono dei ?) e una sequenza di variabili: *ci pensa lui* a metterle insieme e a gestirsi gli apici. cur.execute(SELECT ?, ?;, (42, l'apostrofo)).fetchone() (42, ul'apostrofo) Letture fondamentali prima di fare qualunque cosa con i database in python: * la DB-API, comune a tutti i moduli database python di qualche rilevanza http://www.python.org/dev/peps/pep-0249/ * http://en.wikipedia.org/wiki/SQL_injection * http://xkcd.com/327/ Nella doc di psycopg ci sono più dettagli su perché la fatina dell'SQL si arrabbia (ti ho già detto che è pelosa?): http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries. Fai le dovute differenze perché psycopg usa %s invece di ? come segnaposto. A presto! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
*imbarazzato* ... :-) grazie di tutti i suggerimenti, li provero' subito! per la cronaca questo erano le istruzioni 'a manina' che effettuavo: ++ .header ON .mode column create table pippo (a integer primary key autoincrement, b text, c text); insert into pippo (b, c) values ('12/10/2010', 'Le esperienze dell'infanzia e della prima adolescenza, insieme ai giochi che intrattenava con gli amici, saranno al centro di una successiva opera, il Dottor Sax: la figura del Dottor Sax fu modellata da Kerouac su quella dell'Ombra, protagonista di un programma radiofonico settimanale. Nel 1939 si diploma alla Lowell High School e in questo anno intreccia una relazione amorosa, che non oltrepassa i confini di una casta infatuazione, con Mary Carney: questa relazione amorosa verrà rievocata in Maggie Cassidy.'); select * from pippo; .exit ++ a presto, max Il giorno 05 novembre 2010 12:21, Daniele Varrazzo p...@develer.com ha scritto: On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni massimo.capa...@gmail.com wrote: forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? Certo che esiste! E se provi a quotare a mano le stringhe, arriva la fatina dell'SQL... e ti spezza le ditina! :) cursor.execute() prende due argomenti: la stringa sql con dei segnaposto (in sqlite sono dei ?) e una sequenza di variabili: *ci pensa lui* a metterle insieme e a gestirsi gli apici. cur.execute(SELECT ?, ?;, (42, l'apostrofo)).fetchone() (42, ul'apostrofo) Letture fondamentali prima di fare qualunque cosa con i database in python: * la DB-API, comune a tutti i moduli database python di qualche rilevanza http://www.python.org/dev/peps/pep-0249/ * http://en.wikipedia.org/wiki/SQL_injection * http://xkcd.com/327/ Nella doc di psycopg ci sono più dettagli su perché la fatina dell'SQL si arrabbia (ti ho già detto che è pelosa?): http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries . Fai le dovute differenze perché psycopg usa %s invece di ? come segnaposto. A presto! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
Ciao Massimo, come ti dicevo ecco che postando il codice, debuggare diventa più semplice :-) Le istruzioni sono corrette. Il problema sta nel fatto che se metti gli apici singoli per risolvere il fatto che Dottor Sax e altri hanno i doppi apici... non devi mettere altri singoli apici, sebbene nella nostra lingua possa essere apostrofi dentro la frase. Ok è una frase lunghissima dove non si capisce una fava ma quello che voglio dire è che se: - dell'infanzia diventa della infanzia - dell'Ombra diventa della Ombra Allora tutto va a posto. Prova con questo insert: insert into pippo (b, c) values ('12/10/2010', 'Le esperienze della infanzia e della prima adolescenza, insieme ai giochi che intrattenava con gli amici, saranno al centro di una successiva opera, il Dottor Sax: la figura del Dottor Sax fu modellata da Kerouac su quella della Ombra, protagonista di un programma radiofonico settimanale. Nel 1939 si diploma alla Lowell High School e in questo anno intreccia una relazione amorosa, che non oltrepassa i confini di una casta infatuazione, con Mary Carney: questa relazione amorosa verrà rievocata in Maggie Cassidy.'); Il giorno 05 novembre 2010 14:20, Massimo Capanni massimo.capa...@gmail.com ha scritto: *imbarazzato* ... :-) grazie di tutti i suggerimenti, li provero' subito! per la cronaca questo erano le istruzioni 'a manina' che effettuavo: ++ .header ON .mode column create table pippo (a integer primary key autoincrement, b text, c text); insert into pippo (b, c) values ('12/10/2010', 'Le esperienze dell'infanzia e della prima adolescenza, insieme ai giochi che intrattenava con gli amici, saranno al centro di una successiva opera, il Dottor Sax: la figura del Dottor Sax fu modellata da Kerouac su quella dell'Ombra, protagonista di un programma radiofonico settimanale. Nel 1939 si diploma alla Lowell High School e in questo anno intreccia una relazione amorosa, che non oltrepassa i confini di una casta infatuazione, con Mary Carney: questa relazione amorosa verrà rievocata in Maggie Cassidy.'); select * from pippo; .exit ++ a presto, max Il giorno 05 novembre 2010 12:21, Daniele Varrazzo p...@develer.com ha scritto: On Fri, 5 Nov 2010 09:33:08 +0100, Massimo Capanni massimo.capa...@gmail.com wrote: forse e' una sciocchezza ma faccio lo stesso questa domanda: sto cercando di implementare un semplice database con Sqlite, e sto facendo alcune prove a mano direttamente con Sqlite stesso. Il database di prova contiene una tabella del genere: pippo (a integer primary key autoincrement, b text, c text); Cerco di inserire del testo a caso da qualche testo ma, se nella copia sono presenti doppi apici o singoli apici Sqlite mi comunica che non è correttamente identato. Secondo voi dovrei implementare un controllo dell'identazione degli apici prima dell'inserimento, con una funzione Python, oppure esiste una funzione che automaticamente risolve questo problema durante l'input? Certo che esiste! E se provi a quotare a mano le stringhe, arriva la fatina dell'SQL... e ti spezza le ditina! :) cursor.execute() prende due argomenti: la stringa sql con dei segnaposto (in sqlite sono dei ?) e una sequenza di variabili: *ci pensa lui* a metterle insieme e a gestirsi gli apici. cur.execute(SELECT ?, ?;, (42, l'apostrofo)).fetchone() (42, ul'apostrofo) Letture fondamentali prima di fare qualunque cosa con i database in python: * la DB-API, comune a tutti i moduli database python di qualche rilevanza http://www.python.org/dev/peps/pep-0249/ * http://en.wikipedia.org/wiki/SQL_injection * http://xkcd.com/327/ Nella doc di psycopg ci sono più dettagli su perché la fatina dell'SQL si arrabbia (ti ho già detto che è pelosa?): http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries . Fai le dovute differenze perché psycopg usa %s invece di ? come segnaposto. A presto! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
On Fri, 5 Nov 2010 14:36:59 +0100, Vittorio Zuccala' vittorio.zucc...@gmail.com wrote: Le istruzioni sono corrette. Il problema sta nel fatto che se metti gli apici singoli per risolvere il fatto che Dottor Sax e altri hanno i doppi apici... non devi mettere altri singoli apici, sebbene nella nostra lingua possa essere apostrofi dentro la frase. Stai scherzando, vero? Vorresti dire che in un database non si possono mettere apostrofi? No, le istruzioni postate *non* sono corrette: l'espressione sql insert [...] values ('l'apostrofo') è un errore di sintassi sql e la correzione non è insert ('lo apostrofo'): questa è una trasformazione semantica e immette dati diversi da quelli desiderati. La sintassi accettata da molti database è quella di raddoppiare gli apostrofi (altri meccanismi per altri database): insert [...] values ('l''apostrofo') è sia corretto come sintassi sql sia fa quello che deve fare. In ottica di Python poi, visto che quest'ultimo ha un modo diverso di ricevere in input una costante stringa ('l\'apostrofo' o l'apostrofo...) occorre una trasformazione (ma sintattica, non semantica) che converta un oggetto stringa python in una rappresentazione stringa sql, e il driver è l'unico oggetto che si deve occupare di questa trasformazione. -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] delimitatori testo in sqlite
Il giorno 05 novembre 2010 15:12, Daniele Varrazzo p...@develer.com ha scritto: Stai scherzando, vero? Vorresti dire che in un database non si possono mettere apostrofi? Daniele, scherzare è uno dei punti di forza del mio carattere ma in questo contesto di solito non sono solito farlo. No, le istruzioni postate *non* sono corrette: l'espressione sql insert [...] values ('l'apostrofo') è un errore di sintassi sql e la correzione non è insert ('lo apostrofo'): questa è una trasformazione semantica e immette dati diversi da quelli desiderati. La sintassi accettata da molti database è quella di raddoppiare gli apostrofi (altri meccanismi per altri database): insert [...] values ('l''apostrofo') è sia corretto come sintassi sql sia fa quello che deve fare. Ti ringrazio per la precisazione sicuramente più tecnica. Lo scopo del mio post non era quello di dire che non si devono usare apostrofi ma che il problema era l'apostrofo. L'escape nell'apostrofo è una cosa sicuramente buona e giusta. Grazie quindi per le precisazioni. Sicuramente Massimo e la comunità ne gioverà. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Problema installazione package con setup.py
Buongiorno a tutti, sono nuovo della ML e pertanto ne approfitto per salutare tutti gli iscritti. Ho iniziato da poco con Python (dopo esperienze con altri linguaggi di programmazione, principalmente C e C++). Oggi, avendo del tempo a disposizione, stò provando a fare un semplice package e ho iniziato dal setup.py. La distribuzione del mio package è molto semplice: = root / setup.py + func/ + __init__.py + inutile.py = Il file setup.py contiene [1] e il file inutile.py contiene questa semplice funzione [2]. Lancio il file setup.py con l'opzione develop e tutto sembra andare a buon fine, ma quando apro l'interprete interattivo (non ho ancora creato un virtualenv, ma appena risolvo lo farò se riesco a farlo funzionare con python3), e scrivo import miomodulo ottengo un importerror: no module named miomodulo Come mai? Ho seguito diverse guide trovate sul web, e la cosa strana è che non ci sono errori... il file __init__.py è vuoto. [1] http://paste.pocoo.org/show/HVkOu7R0HiZPHmSOL5y9/ [2] http://paste.pocoo.org/show/7hJHptL5WL3Er6yu8PR3/ Grazie mille in anticipo, e scusate se è un argomento che magari trattate migliaia di volte, ma mi sembra strano come fatto :( ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Problema installazione package con setup.py
On Fri, Nov 05, 2010 at 04:46:34PM +0100, lex mlist wrote: Buongiorno a tutti, sono nuovo della ML e pertanto ne approfitto per salutare tutti gli iscritti. ciao [...] Lancio il file setup.py con l'opzione develop e tutto sembra andare a buon fine, ma quando apro l'interprete interattivo (non ho ancora creato un virtualenv, ma appena risolvo lo farò se riesco a farlo funzionare con python3), e scrivo import miomodulo ottengo un importerror: no module named miomodulo è normale, miomodulo è il nome del pacchetto che non ha niente a che fare con il suo contenuto. il tuo codice è formato dal package ``func`` e dal modulo ``inutile``. per poterlo mettere in funzione devi usare il seguente codice: from func import inutile inutile.inutile() Generalmente il nome del package principale corrisponde in qualche maniente al nome della distribuzione, per esempio Twisted ha il package principale che si chiama ``twisted``, questo per creare meno confusione. Grazie mille in anticipo, e scusate se è un argomento che magari trattate migliaia di volte, ma mi sembra strano come fatto :( no problema ciao m. -- Lo punite del fatto che la sua infanzia ha strisciato sul suolo senza stelo e senza tutore; gli imputate come un misfatto l'isolamento in cui lo avete lasciato; della sua sventura fate il suo delitto! Nessuno gli ha insegnato a sapere ciò che faceva: quest'uomo ignora. La sua colpa appartiene al suo destino, non a lui. Voi colpite un innocente. -- Victor Hugo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Problema installazione package con setup.py
from func import inutile inutile.inutile() Generalmente il nome del package principale corrisponde in qualche maniente al nome della distribuzione, per esempio Twisted ha il package principale che si chiama ``twisted``, questo per creare meno confusione. Ah! capito, che errore stupido :-/ Beh allora mi sfugge l'utilità di dare un nome al package :/ Serve solo per quando il package viene distribuito tramite PyPI? PS. ne approfitterei per chiedervi una cosa OT: rispondendo al messaggio della ML è buona norma includere sia la mail della persona a cui rispondiamo che la ML o solo la ML? Io uso mail.google.com per leggere le mail e mi include automaticamente ambedue le mail, è un problema? Di nuovo, grazie :) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Problema installazione package con setup.py
On Fri, Nov 05, 2010 at 05:58:27PM +0100, lex mlist wrote: from func import inutile inutile.inutile() Generalmente il nome del package principale corrisponde in qualche maniente al nome della distribuzione, per esempio Twisted ha il package principale che si chiama ``twisted``, questo per creare meno confusione. Ah! capito, che errore stupido :-/ bhé, onestamente credo che la stupidità sia ben altra cosa che questo piccolo errore, comunque sei perdonato. Beh allora mi sfugge l'utilità di dare un nome al package :/ Serve solo per quando il package viene distribuito tramite PyPI? bhé, diciamo di sì. in realtà il pacchetto può non passare per pypi e nonostante tutto un nome serve. può capitare comunque che ci siano pacchetti che forniscono più di un package principale, per esempio un programma può voler distribuire le librerie da cui dipende oppure il package può essere qualcosa di strano come lo sono i package di zope/plone: ci sono una multitudine di pacchetti che distribuiscono codice sotto i package zope.xxx, plone.xxx o plone.app.xxx, ecc. PS. ne approfitterei per chiedervi una cosa OT: rispondendo al messaggio della ML è buona norma includere sia la mail della persona a cui rispondiamo che la ML o solo la ML? Io uso mail.google.com per leggere le mail e mi include automaticamente ambedue le mail, è un problema? non saprei. so' che il problema è il mio ma non ho indagato troppo a riguardo. in linea di massima direi che dovresti rispondere solo sulla mailing list a meno che una persona non richieda espressamente il contrario (alcune ml non richiedono iscrizione). credo che una ricerca su internet sotto netiquette dovrestri trovare qualche risposta (discorde) a riguardo. Di nuovo, grazie :) niente m. -- La calunnia è un venticello Un'auretta assai gentile Che insensibile, sottile, Leggermente, dolcemente, Incomincia a susurrar. -- Basilio, Il barbiere di Siviglia ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Quoting [was: Problema installazione package con setup.py]
On Fri, 5 Nov 2010 17:58:27 +0100, lex mlist lexml...@gmail.com wrote: PS. ne approfitterei per chiedervi una cosa OT: rispondendo al messaggio della ML è buona norma includere sia la mail della persona a cui rispondiamo che la ML o solo la ML? Io uso mail.google.com per leggere le mail e mi include automaticamente ambedue le mail, è un problema? Intanto benvenuto, e grazie per *non* aver top-quotato, come l'interfaccia di gmail invita a fare :) Non c'è un codice per questo, ma quotare serve a creare un contesto, quindi se messaggi precedenti nel thread aiutano a chiarire di cosa si parli li puoi anche includere; come anche, del messaggio a cui rispondi e dei precedenti, sentiti libero di eliminare le parti che sono finite fuori argomento (non allo scopo di stravolgere il messaggio originale ovviamente!) Se poi mantieni l'attribuzione dei messaggi sopravvissuti ai vari autori, e magari cambi il titolo del messaggio quando si cambia argomento, allora sei un grande! :D Insomma, tipo questa risposta dovrebbe andare bene a tutti i nitpicker che girano per questa lista... :) -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Quoting [was: Problema installazione package con setup.py]
Il giorno 05 novembre 2010 18:29, Daniele Varrazzo p...@develer.com ha scritto: Intanto benvenuto, e grazie per *non* aver top-quotato, come l'interfaccia di gmail invita a fare :) Grazie per il benvenuto, niente di che riguardo il quoting, anche io non sono amante dei messaggi che quotano per intero tutto all'inizio o alla fine. Non c'è un codice per questo, ma quotare serve a creare un contesto, quindi se messaggi precedenti nel thread aiutano a chiarire di cosa si parli li puoi anche includere; come anche, del messaggio a cui rispondi e dei precedenti, sentiti libero di eliminare le parti che sono finite fuori argomento (non allo scopo di stravolgere il messaggio originale ovviamente!) Se poi mantieni l'attribuzione dei messaggi sopravvissuti ai vari autori, e magari cambi il titolo del messaggio quando si cambia argomento, allora sei un grande! :D Insomma, tipo questa risposta dovrebbe andare bene a tutti i nitpicker che girano per questa lista... :)http://lists.python.it/mailman/listinfo/python Perfetto, grazie mille per le dritte, cercherò di impegnarmi al massimo per rispettare queste regole di buona convivenza :) A presto! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python