Profilo di tonny

Nome tonny
Indirizzo email n/a
Messaggi5
  • Re: python non trova le librerie
    Forum >> Principianti
    Mah guarda che non c'è proprio nulla da "copiare" e tanto meno da "compilare". Banalmente, spiana quella buffa non-installazione di python 2, e installaci una nuova versione di python 2 (se proprio vuoi darti una martellata sulle p** installando software obsoleto... ma saprai tu).
    Se ci fosse, lo farei volentieri.

    Comunque, vorrei precisare che anche se è un sistema "vecchio" (2014), non c'è niente di obsoleto, è tuttora in produzione è non c'è niente di più nuovo che possa sostituirlo.


    Si rivolge ad applicazioni specialistiche (=costose, c'è un chip che da solo costa sui 10 k$) dove il turn-over dell'hardware è di 10-15 anni e i numeri sono dell'ordine delle migliaia di pezzi, altro che i miliardi di smartphone! Per darti un'idea, ho dovuto tradurre in C un pezzo di programma in Fortran del 1973. Quindi tutto si evolve in modi inusuali.

    Se invece, per dire, ti serve "solo" un modulo o due della libreria standard (che so, "math", "string"...) puoi provare a copiare solo quei file manualmente accanto agli altri e incrociare le dita... certo però che se quei moduli a loro volta importano altri moduli che non ci sono... sei fritto ugualmente.


    Dopo di che, in generale mi sa che stai andando fuori strada. Se quella scheda è un componente hardware legacy ma ormai insostituibile di un qualche sistema che assolve un compito per te importante, allora guarda che ti conviene usare il python che c'è sopra con tutti i limiti che ci sono: meno la tocchi, meglio è, soprattutto perché ormai è così obsoleta che se rompi qualcosa non è più facile trovare il supporto per aggiustarla.


    Se invece stai usando un componente hardware obsoleto, con un software obsoleto, installato in modo incompleto, SOLO perché non c'hai voglia di spendere qualche decina di euro per accattarti un raspberry pi su Amazon... il mio consiglio sarebbe di spendere qualche decina di euro e accattarti un raspberry pi su Amazon.


    Se vuoi imparare python, stai percorrendo la strada più tortuosa che abbia mai visto (e ne ho visto la mia parte, di strade tortuose).



    Purtroppo in questo momento non sono nella situazione di imparare un linguaggio solo per il gusto di impararlo. Devo impararlo e simultaneamente usarlo per lo scopo che mi serve. Il sistema è nato per essere programmato in C e se per far funzionare il Python perdo più tempo di quello che risparmierei, devo lasciare perdere e proseguire per la vecchia strada. Ad ogni modo ti ringrazio infinitamente della collaborazione.




  • Re: python non trova le librerie
    Forum >> Principianti
    Mah sai, "una scheda di sviluppo/didattica" vuol dire tutto e niente. Le distribuzioni linux embedded sono spesso una giungla di infinite possibilità, spesso fatte un po' muzzo da smanettoni che credono di essere "clever" a "customizzare", ma in realtà non si rendono conto di fare pasticci. Va a sapere. Puoi sempre contattare chi ha fatto quella roba e chiedergli spiegazioni. O magari, hai visto mai, c'è un manuale di istruzioni? Nella storia della programmazione molti dubbi sono stati chiariti dai manuali di istruzioni.
    Ok, chiederò al fornitore ma dubito che dia questo supporto. Ho chiesto aiuto qui perché pensavo che fosse
    più che altro un problema relativo a Python, qualcosa che andava
    configurato.
    Dopo di che, alla fine non è che si siano molte strade: dopo tutto, il modulo "string" non è altro che il file fisico "string.py" (che potrebbe essere string.pyc o string.pyo se per risparmiare spazio hanno tenuto solo le versioni compilate). Quindi fai una ricerca globale per "string.py*" o simili, e vedi se *ovunque* per caso c'è quel file. Se scopri una location particolare (diversa quindi da quelle di sys.path) dove sono conservati, per qualche misteriosa ragione, quei moduli "mancanti", non ti resta che aggiungerla manualmente a sys.path prima di importare i moduli (o aggiungerla una volta per tutte alla variabile d'ambiente pythonpath).




    Già fatto, non c'è niente. E se prendessi i sorgenti di tutte le librerie da un sistema funzionante, per esempio da Ubuntu che sto usando in questo momento, le copiassi sul sistema embedded e le compilassi lì? Chiedo se è un'operazone possibile perché in realtà non saperei nemmeno come fare. Sto studiando Python proprio in funzione di questa scheda. In realtà questa scheda andrebbe programmata in C e su questo c'è tutta la documentazione e il supporto. Purtroppo non c'è un compilatore C nativo, perciò devo usare un cross compiler su PC (sotto windows) e poi trasferire l'eseguibile sulla scheda ed è quello che faccio normalmente. Speravo di semplificarmi la vita, almeno per semplici programmi, con Python.

    Dopo di che, sia chiaro, tutto questo è un esercizio accademico completamente inutile. Non ha comunque senso usare python 2.7 (e addirituttura una versione *vecchia* di python 2.7!) nel 2019. Quello che davvero ti conviene fare, è spianare tutto e installarci python 3.






    Se ci fosse un versione più aggiornata e funzionante di tutto il software per questa scheda lo farei volentieri! Ma questo è il mondo reale.




  • Re: python non trova le librerie
    Forum >> Principianti
    Grazie a entrambi, mi state dando un aiuto incommensurabile!

    Ho tentato di dare i comandi che mi avete suggerito, ma questo è il risultato.

    root@prim_arm:~# python -m site
    Could not import runpy module
    root@prim_arm:~# python -c "import sys; print(sys.path)"
    ['', '/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib]
    root@prim_arm:~# python -m site --user-site
    Could not import runpy module
    root@prim_arm:~# python -c "import string as lb; print(lb.__file__)"
    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    ImportError: No module named string
    root@prim_arm:~# python -c "help('modules')"
    Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/usr/lib/python2.7/site.py", line 472, in __call__
    import pydoc
    ImportError: No module named pydoc
    root@prim_arm:~#


    Mi pare che manchino proprio librerie importanti.

    Dico che è assurdo perchè è una scheda di sviluppo/didattica, anche se non specifica per Python sul quale la documentazione della scheda non fa nessun cenno, però perchè metterci un Python azzoppato? E' un sistemino abbastanza potente basato su Arm con 1GB di ram e SD-card da 8 GB, quindi non c'era motivo di risparmiare spazio.


    Potrebbe esserci qualche variabile d'ambiente da settare per indirizzarlo alle giuste directory?

    Nel caso peggiore che proprio manchino le librerie, come si potrebbe rimediare?

    Grazie infinite.



  • Re: python non trova le librerie
    Forum >> Principianti
    eh... magari è così. Prova a cercare manualmente la directory dell'installazione, e vedi che cosa c'è.

    Scusa ma ma in quale directory dovrebbero essere le librerie?

    Intanto mi sono accorto che import os e import sys funzionano,

    quindi qualche libreria almeno esiste.


    Invece import string e import math e molte altre non vengono trovate,

    ma mi sembra assurdo che non esistano.



  • python non trova le librerie
    Forum >> Principianti
    Salve, ho un vecchio sistema Linux (embedded, non pc) che include Python,

    ma quando tento di caricare qualunque libreria ricevo un errore.

    E' possibile che le librerie non esistano su questo sistema?





    root@prim_arm:~# python
    Python 2.7.3 (default, Feb 27 2013, 12:00:03)
    [GCC 4.7.3 20121106 (prerelease)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import string
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named string
    >>>