2015-11-17 11 views
5

Ho utilizzato Python 2.7.10 in un ambiente virtualenv per un paio di mesi."Istruzione non valida: 4" quando si tenta di avviare Python con virtualenv in OS X

Ieri, attivando l'ambiente è andato bene, ma oggi improvvisamente ottengo questo errore criptico quando si tenta di avviare Python da terminale:

Illegal instruction: 4

ho fatto alcuna modifica al mio ambiente (per quanto ne so), in modo da Sto attraversando un momento difficile cercando di venire a patti con cosa sia questo errore e cosa lo abbia causato.

Python funziona benissimo all'esterno di questo ambiente virtualenv. Quando si esegue tramite /usr/local/bin non presenta alcun problema.

+0

non so la risposta, ma questo è lo stesso incidente si otterrebbe se si bundle un eseguibile all'interno di un'applicazione in modalità sandbox OSX e tentato di eseguire il file eseguibile direttamente dalla linea di comando ... – trojanfoe

+0

In questo più recente domanda simile, una soluzione è suggerita: https://stackoverflow.com/q/48710094/5802289 – J0ANMM

risposta

1

Ho avuto questo problema un certo numero di volte. Anche se non posso dire con certezza quale sia il vero problema, credo che in pratica significhi che alcuni file nella versione virtualenv di Python sono corrotti.

Conservo il mio ambiente virtuale in una cartella Dropbox sincronizzata, in modo che possa essere un grande contributore al problema.

Il ripristino dell'ambiente virtuale da un archivio di backup ha funzionato per me. O semplicemente reinstallare un ambiente virtuale identico.

  • Innanzitutto, provare ad attivare l'ambiente difettoso entro cd <path/to/old_env> e source /bin/activate.
  • Se è attivato correttamente, cd in una posizione accessibile sull'unità ed eseguire pip freeze > requirements.txt per esportare un elenco di moduli Python attualmente installati.
  • Elimina il vecchio ambiente.
  • Installare un nuovo ambiente virtuale della versione più recente di Python 2 che avete sul computer, tramite virtualenv <path/new_env>
  • Oppure, se si vuole usare una specifica versione di Python, prima assicurarsi di avere lo avete sul vostro drive e quindi fare virtualenv -p <path>. Supponendo di aver scaricato la versione Python con Homebrew, ad esempio virtualenv -p /usr/local/bin/python2.6 <path/new_env>
  • Attivare l'ambiente virtuale tramite cd <path/new_env> e quindi fare source /bin/activate.
  • Supponendo di aver mantenuto un elenco di moduli da reinstallare eseguendo in precedenza pip freeze > requirements.txt, cd nella cartella in cui si trova il file di testo e fare pip install -r requirements.txt.
  • In caso contrario, reinstallare i moduli con pip manualmente.
Problemi correlati