Topic: [Risolto]Installare wxPython in un venv sotto Linux  (Letto 56 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 258
  • Punti reputazione: 0
    • Mostra profilo
[Risolto]Installare wxPython in un venv sotto Linux
« il: Luglio 23, 2020, 11:54 »
I miei saluti.

Utilizzo una distribuzione Linux (Ubuntu 18.04) che di default utilizza la versione 3.6.9 di python (oltre la 2.7.x).
In un venv ho installato la versione "minimale" di python 3.8.0 al fine di eseguire test più conformi alle ultime caratteristiche del linguaggio.
 ... per proporre un esempio in altro forum, mi è venuto in mente di adattare un piccolo esempio di programma asincrono sviluppato in detto venv e di installare nello stesso ambiente le wx, sono sorti dei problemi che ho cercato di affrontare, in ultimo mi son bloccato seguendo i passi in questa pagina, tutto è andato bene sino al make, ma all'avvio della compilazione :
 Running command: build_py
  Checking for /tmp/pip-req-build-td89ziml/bin/waf-2.0.19...
  "/home/nuzzopippo/py_workspace/p38/p38b_v/bin/python" /tmp/pip-req-build-td89ziml/bin/waf-2.0.19 --wx_config=/tmp/pip-req-build-td89ziml/build/wxbld/gtk3/wx-config --gtk3 --python="/home/nuzzopippo/py_workspace/p38/p38b_v/bin/python" --out=build/waf/3.8/gtk3 configure build
  Setting top to                           : /tmp/pip-req-build-td89ziml
  Setting out to                           : /tmp/pip-req-build-td89ziml/build/waf/3.8/gtk3
  Checking for 'gcc' (C compiler)          : /usr/bin/gcc
  Checking for 'g++' (C++ compiler)        : /usr/bin/g++
  Checking for program 'python'            : /home/nuzzopippo/py_workspace/p38/p38b_v/bin/python
  Checking for python version >= 2.7.0     : 3.8.0
  python-config                            : not found
  Checking for library python3.8 in LIBDIR : not found
  Checking for library python3.8 in python_LIBPL : not found
  Checking for library python3.8 in $prefix/libs : not found
  Checking for library python3.8m in LIBDIR      : not found
  Checking for library python3.8m in python_LIBPL : not found
  Checking for library python3.8m in $prefix/libs : not found
  Checking for library python38 in LIBDIR         : not found
  Checking for library python38 in python_LIBPL   : not found
  Checking for library python38 in $prefix/libs   : not found
  Checking for header Python.h                    : Distutils not installed? Broken python installation? Get python-config now!
  The configuration failed
  (complete log in /tmp/pip-req-build-td89ziml/build/waf/3.8/gtk3/config.log)


Mi sembra di capire il "primo" dei problemi sia che non trovi "python-config" nell'ambiente virtuale che però era già li installato
(p38b_v) NzP:~$ pip install python-config
Requirement already satisfied: python-config in ./p38b_v/lib/python3.8/site-packages (0.1.2)
(p38b_v) NzP:~$

Ovviamente, mi ci son perso riguardo nell'insieme di librerie 3.8 non trovate ed il resto del chilometrico output a video. Purtroppo non mi è neanche riusciuscito di trovare il log del processo in "/tmp" (mancati permessi in scrittura, probabilmente) e non so che pesci prendere ... avete qualche suggerimento?

Grazie dell'attenzione :)
« Ultima modifica: Luglio 27, 2020, 09:10 da nuzzopippo »

Offline RicPol

  • python sapiens sapiens
  • ******
  • Post: 3.062
  • Punti reputazione: 9
    • Mostra profilo
Re:Installare wxPython in un venv sotto Linux
« Risposta #1 il: Luglio 24, 2020, 22:19 »
uhm, sì... "quella pagina" è un inferno di complicazione. E' da un po' di tempo che vorrei seriamente capire come funziona il build di wxPython su linux, ma onestamente è molto sconfortante... Windows è così semplice!
Detto ciò, in primo luogo, davvero non trovi una wheel precompilata per il tuo linux? https://extras.wxpython.org/wxPython4/extras/linux/
In secondo luogo, quella pagina consiglia di costruire un wheel con Pip a partire dal sorgente... La chiave dovrebbe essere "pip wheel -v wxPython-4.0.1.tar.gz" (vedi lo "step 4").

Detto ciò, guarda che installare un pacchetto con "pip", dentro un venv... non è proprio detto che trovi il "pip" che vuoi tu! Puoi verificare con "which pip" per vedere se stai usando il pip giusto... e in ogni caso ti consiglio invece di passare da "python -m pip install ..." per essere più sicuro.

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 258
  • Punti reputazione: 0
    • Mostra profilo
Re:[Risolto]Installare wxPython in un venv sotto Linux
« Risposta #2 il: Luglio 27, 2020, 09:25 »
Grazie della segnalazione dei wheel negli Extra, @Ric, in effetti risolve facilitando enormemente il "problema".

Da buon "linuxaro", non mi aveva neanche sfiorato il pensiero potessero esistere, trovo più "normale" dovermi sbattere su compilazioni varie, istintivamente devo aver attribuito le wheel ai "soli" sistemi windows, cosa che non è. Messo risolto circa il "problema" di per se.

Riguardo la "malefica pagina", mi sono bloccato proprio sullo step 4, nella creazione della wheel vengono correttamente installati i pacchetti sussidiari richiesti (numpy etc.) poi ben eseguito il make dei sorgenti delle wx e si pianta sul build.
Controllato il pip, era quello "giusto" e, comunque, si verifica l'analoga situazione anche lanciando con "-m pip", il problema non è li e nemmeno nelle librerie di sistema genericamente indicate all'inizio pagina ... ho il sospetto che bisogna integrare, a livello di s.o., delle ulteriori librerie specifiche per la versione 3.8 di python, quali supporto per compilazione o altro, ma debbo trovare il tempo per approfondire la faccenda, magari dopo l'estate mi ci metto e se risolvo batto un colpo.
« Ultima modifica: Luglio 27, 2020, 09:31 da nuzzopippo »