Sto cercando di installare tensorflow ma necessita di un'installazione di Python 3.6 e ho installato solo Python 3.7. Ho provato a cambiare usando brew e pyenv ma non funziona.
Qualcuno conosce un modo per risolvere questo problema?
Sto cercando di installare tensorflow ma necessita di un'installazione di Python 3.6 e ho installato solo Python 3.7. Ho provato a cambiare usando brew e pyenv ma non funziona.
Qualcuno conosce un modo per risolvere questo problema?
Risposte:
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
$ pip install tensorflow
pip install tensorflowcreare un virtualenv o un conda env, quindi attivarlo e infine utilizzarepip install tensorflow
$ brew cleanupcomando)
apt, puoi provare ad aggiungere il deadsnakesPPA che racchiude le versioni precedenti di python: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , ma funziona solo sulle versioni di Ubuntu con supporto a lungo termine (LTS) , che sono 14.04, 16.04, 18.04 e 20.04 mentre scrivo questo commento nel 2020.
Se stai lavorando con Anaconda, allora
conda install python=3.5.0
# or maybe
conda install python=2.7.8
# or whatever you want....
potrebbe funzionare.
condaper Linux?
UnsatisfiableError:The following specifications were found to be in conflict: - python=3.5.0 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> readline=7 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> tk=8.6
Scarica python 3.6.0 da https://www.python.org/downloads/release/python-360/
Installalo come un normale pacchetto.
Correre cd /Library/Frameworks/Python.framework/Version
Esegui il lscomando e tutte le versioni di Python installate saranno visibili qui.
Correre sudo rm -rf 3.7
Controlla la versione ora python3 -Ve sarà 3.6 ora.
Crea un ambiente virtuale Python usando conda, quindi installa tensorflow:
$ conda create -n [environment-name] python=3.6
# it may ask for installing python-3.6 if you don't have it already. Type "y" to proceed...
$ activate [environment-name]
$ pip install tensorflow
D'ora in poi, puoi attivare l'ambiente ogni volta che vuoi usare tensorflow.
Se non hai il gestore di pacchetti conda, scaricalo da qui: https://www.anaconda.com/distribution
Ecco un riepilogo canonico che riassume diverse soluzioni per la varietà di sistemi operativi su cui Python gira. Quelle che seguono sono le possibilità per Microsoft Windows , Linux , macOS e Misc .
Come accennato, queste sono solo possibilità - in nessun modo pretendo di avere un elenco completo di sorta.
In generale, si consiglia di utilizzare ambienti virtuali (consiglio vivamente di guardare la documentazione ufficiale di Python ). Con questo approccio, puoi facilmente impostare versioni di Python specifiche del progetto (così come le librerie). Facilmente gestibile e la parte migliore: ci sono molti tutorial su Internet su come affrontare questo:
1.) Apri il prompt dei comandi ("cmd") e inserisci pip install virtualenv.
2.) Installa la versione Python desiderata tramite https://www.python.org/downloads/release; Ricorda: non aggiungere aPATH !
3.) Digita nel prompt dei comandi:, virtualenv \path\to\env -p \path\to\python_install.exementre \path\to\envsarà il percorso in cui sarà il tuo ambiente virtuale e \path\to\python_install.exequello in cui risiede la tua versione di Python appena (presumibilmente) installata.
4.) Fatto! Ora hai un ambiente virtuale configurato! Ora, per attivare l'ambiente virtuale, esegui il file batch che si trova all'interno del file \path\to\env\Scripts\activate.bat. (vedi questo sito web o una guida ufficiale di Python )
L'opzione di base sarebbe disinstallare la versione indesiderata di Python e reinstallare quella preferita da https://www.python.org/downloads/ . Per rimuovere la "vecchia" versione vai su Control Panel-> "Uninstall a program"-> Search for "Python" -> Right-click on the Python name-> Uninstall. Tieni presente che Python di solito ha una variabile PATH memorizzata, quindi dovresti rimuoverla anche tu - Controlla i seguenti collegamenti per questo:
Ora ricontrolla se ci sono file rimanenti in cui era archiviato Python. Di solito, si possono trovare tutti i file Python alle due C:\Program Files (x86)\Pythonxx, C:\Users\username\AppData\Local\Programs\Pythonxxo di C:\Pythonxxo tutti loro. Potresti averlo installato in un'altra directory: controlla dove si trovava una volta.
Ora dopo la disinstallazione basta reinstallare la versione desiderata andando nella pagina di download e seguire la consueta procedura di installazione. Non entrerò nei dettagli su come installare Python. . Infine, potresti verificare quale versione è attualmente installata aprendo il prompt dei comandi e digitando python -V.
Questo approccio è abbastanza simile al secondo: in pratica disinstalli il vecchio e lo sostituisci con la tua versione preferita. L'unica cosa che cambia la parte relativa a come disinstallare la distribuzione Python indesiderata: è sufficiente eseguire il programma di installazione di Python3 che hai utilizzato originariamente per installare Python (di solito è memorizzato nella tua directory Python come menzionato sopra; per ulteriore assistenza controlla questo ). Lì hai un'opzione per repair or uninstall, procedere scegliendo uninstalle seguire i passaggi forniti tramite il programma di disinstallazione.
Indipendentemente da come disinstalli Python (ci sono molte risorse su questo argomento, ad esempio questa domanda di Stack Overflow o un thread problematico di un utente con il nome di Vincent Tang pubblicato sul sito di Stack Exchange Super User, ecc.), Reinstalla semplicemente il desiderato Versione Python seguendo i passaggi menzionati in Option 2.
L'opzione 4 riguarda Anaconda. Fare riferimento a questo sito su come installare Anaconda su Windows. Step 9è importante in quanto non si desidera installarlo come Python predefinito: si desidera eseguire più versioni di Python :
Scegli se registrare Anaconda come Python predefinito. A meno che non si preveda di installare ed eseguire più versioni di Anaconda o più versioni di Python, accettare l'impostazione predefinita e lasciare selezionata questa casella.
Segui il tutorial ufficiale che ho collegato sopra.
Una volta fatto, puoi creare i seguenti comandi individualmente nel prompt di anaconda: Per sovrascrivere la versione di python predefinita , usa il sistemaconda install python=3.6 o per creare un ambiente virtuale, vai avanti e usa conda create -n $PYTHON36_ENV_NAME python=3.6 anacondamentre $PYTHON36_ENV_NAMEè il nome personalizzato che puoi impostare. Credito a cui è dovuto il credito: l'utente @CermakM da questo thread ha fortemente influenzato questo frammento.
Nella mia ricerca ho riscontrato un sacco di utili thread Stack Overflow: potresti verificarli se segui la strada difficile con Anaconda:
Quello che segue non è un downgrade in senso classico, anche se per completezza ho deciso di menzionare anche questo approccio. Su Windows puoi anche eseguire più versioni di Python: un famigerato thread su StackOverflow si occupa di questa domanda, quindi ti rimando cortesemente a lì per ulteriori scopi di lettura.
Abbastanza analogo alla terza opzione per Windows, ti consiglio vivamente di utilizzare un ambiente virtuale come Anaconda. Anaconda - o short conda - è disponibile anche su Linux. Controlla la documentazione ufficiale di installazione qui . Ancora una volta questo thread è altamente consigliato su come sovrascrivere una versione di Python, rispettivamente su come creare un ambiente specifico con la versione di Python desiderata.
Un altro ambiente virtuale altamente consigliato è Pyenv. L'utente @Sawan Vaidya ha descritto in questa domanda Stack Overflow su come eseguire l' upgrade o il downgrade di una versione di Python con l'aiuto di Pyenv. Puoi impostare una versione di Python a livello globale o creare un ambiente locale, entrambi spiegati nel thread menzionato.
Un altro utente, ovvero @Jeereddy , ha suggerito di utilizzare il sistema di gestione dei pacchetti software Homebrew. Ha spiegato accuratamente questa opzione in questa domanda attuale :
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
Non c'è bisogno di reinventare la ruota: questo thread è pieno di tanti bellissimi approcci di corsa come quello di @Sidharth Taneja .
normal package.cd /Library/Frameworks/Python.framework/Versionlsper elencare tutte le versioni di Python installatesudo rm -rf 3.7, rimuovendo Python versione 3.7 - può essere ripetuto per qualsiasi versione desideri eliminarepython3 -v, dovrebbe visualizzare la versione che originariamente volevi installareChe miniera d'oro è questo filo ! Come @nondetermistic ha descritto in modo approfondito (link diretto al suo post ):
Installa il codice sorgente Python così com'è:
#Taken Python 3.6 as an example
$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall
Ora sei in grado di aggiungere sia la versione scaricata ( /home/<user>/python3.6/bin) per PATHoltre che libper LD_LIBRARY_PATHo semplicemente creare un ambiente virtuale: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6. Una soluzione molto semplice ed estetica per eseguire più versioni di Python sul tuo sistema.
Usando pyenvcon Homebrew- credito a @Shayan con la sua risposta qui :
1.) Installazione pyenvcon Homebrew:
brew update
brew install pyenv
2.) Clonazione del repository GitHub per ottenere l'ultima pyenvversione:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
3.) Definire le variabili d'ambiente come segue
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
4.) Riavviare la shell in modo che le PATHmodifiche funzionino
exec "$SHELL"
5.) Verifica delle versioni di Python disponibili
pyenv install --list
6.) Installazione della versione Python desiderata, ad esempio 3.6
pyenv install 3.6
7.) Impostandolo a livello globale ( puoi anche andare avanti e usarlo solo in un determinato ambiente )
pyenv global 3.6
8.) Controlla la versione di Python che il sistema sta usando - la tua versione desiderata / downgrade dovrebbe essere visualizzata qui.
python3 --version
Simile agli approcci precedenti, puoi scaricare Anaconda anche su macOS. Per una guida all'installazione, fare clic qui . L'utilizzo è praticamente la stessa come ho già descritto nella Option 4della Windowsguida. Si prega di controllare sopra.
In questo caso sta diventando piuttosto ripetitivo. Ti suggerisco gentilmente di controllare le seguenti risorse per ulteriori letture:
Durante la scrittura di questo post ho avuto il problema di non sapere dove tracciare la linea. Quando si cercano i sistemi operativi attualmente supportati da Python si ottiene un elenco enorme, inclusi quelli che ho citato, ovvero Linux , Microsoft Windows e macOS , sebbene ovviamente diverse distribuzioni Linux siano trattate da sole, ad esempio CentOS, Arch Linux o Fedora dovrebbero meritarsi un spot anche - o devo creare opzioni separate per Windows 10, 7, ecc.?
A causa dell'alto grado di ripetitività per quanto riguarda i moduli come Homebrew, Conda o simili, ho deciso di limitare la mia lista ai "tre principali" sistemi operativi - distribuzioni come Ubuntu ( Come faccio a eseguire il downgrade della mia versione di python da 3.7.5 a 3.6.5 su ubuntu ), CentOS ( come eseguire il downgrade della versione python su CentOS? ) può essere facilmente ricercato su Stack Overflow. Il più delle volte è possibile applicare soluzioni dalla scheda Linux per dette distribuzioni. Lo stesso vale con Windows e macOS (versioni).
Un modo pulito senza dover disinstallare una versione precedente o tornare a software aggiuntivo come Anaconda o docker, ecc. È scaricare il codice sorgente di Python 3.6 e installarlo come segue:
$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall
Per usarlo tu:
aggiungi /home/<user>/python3.6/binal tuo PATH(e libal LD_LIBRARY_PATH) e finiscila. (Potrebbe anche essere necessario aggiungere al percorso di inclusione ecc., A seconda di ciò che stai cercando di ottenere esattamente, ma spero che tu abbia l'idea.);
oppure, si crea un ambiente virtuale simile a questo: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6.
Nessun sudo o accesso root richiesto. Non rovinare il tuo sistema.
Ho avuto problemi a installare tensorflow con python 3.7 e ho seguito queste istruzioni per configurare un ambiente virtuale con python3.6 e farlo funzionare
Download the Python3.6 tgz file from the official website (eg. Python-3.6.6.tgz)
Unpack it with tar -xvzf Python-3.6.6.tgz
cd Python-3.6.6
run ./configure
run make altinstall to install it (install vs altinstall explanation here
configurazione dell'ambiente virtuale python3.6 per tensorflow
Se stai usando jupyter notebook o jupyter lab, questo può essere utile per scegliere il giusto ambiente virtuale
python -m venv projectname
source projectname/bin/activate
pip install ipykernel
ipython kernel install --user --name=projectname
A questo punto, puoi avviare jupyter, creare un nuovo notebook e selezionare il kernel che risiede nel tuo ambiente.
ambiente virtuale e notebook jupyter
Spero che sia di aiuto
pyenvpuò essere utilizzato in Linux / MacOS per la gestione delle versioni di python. pyenv-winè il fork di pyenvcui può essere utilizzato su Windows.
Testato su Mac Catalina
Installa pyenv.
brew install pyenv
Aggiungi quanto segue al tuo file di configurazione della shell:
.bashrc/ .bash_profile- Per Bash.zshrc - Per Zshexport PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
Riavvia la shell. Avvia una nuova shell o esegui exec "$SHELL"nella shell corrente.
Testato su Arch Linux
Installa pyenvsul tuo sistema.
curl https://pyenv.run | bash
Segui gli stessi passaggi dei passaggi 2 e 3 dell'installazione di MacOS.
Installa pyenv-winsu Windows.
In Powershell
pip install pyenv-win --target "$HOME\.pyenv"
In cmd.exe
pip install pyenv-win --target "%USERPROFILE%\.pyenv"
Imposta le variabili d'ambiente usando Powershell / Terminal.
[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('path', $HOME + "\.pyenv\pyenv-win\bin;" + $HOME + "\.pyenv\pyenv-win\shims;" + $env:Path,"User")
Chiudi e riapri il tuo terminale. Esegui pyenv --versionsul terminale.
un. Se il valore restituito è la versione installata di pyenv, continua di seguito. b. Se si riceve un errore di comando non trovato, assicurarsi che le variabili di ambiente siano impostate correttamente tramite la GUI: Questo PC → Proprietà → Impostazioni di sistema avanzate → Avanzate → Variabili d'ambiente ... → PERCORSO c. Se ricevi un errore di comando non trovato e stai utilizzando Visual Studio Code o un altro IDE con un terminale integrato, riavvialo e riprova.
Esegui pyenv rehashdalla directory home.
pyenv versions
Esempio
$ pyenv versions
* system (set by /home/souser/.pyenv/version)
3.6.9
pyenv install <version-number>
pyenv uninstall <version-number>
pyenv global <version-number> # <version-number> is the name assigned to your python in output of `pyenv versions`
Esempio
$ python --version
Python 3.9.1
$ pyenv global 3.6.9
$ python --version
Python 3.6.9
Imposta una versione di python per una directory e tutte le sue sottodirectory
pyenv local <version-number> # <version-number> is the name assigned to your python in output of `pyenv versions`
Esempio
~/tmp/temp$ python --version
Python 3.9.1
~/tmp/temp$ pyenv local 3.6.9
~/tmp/temp$ python --version
Python 3.6.9
Per maggiori dettagli, puoi controllare i repository Github: pyenv e pyenv-win .
Consiglierei semplicemente di creare un nuovo ambiente virtuale e di installare tutti i pacchetti dall'inizio poiché le ruote per alcuni pacchetti potrebbero essere state installate per la versione precedente di Python. Credo che questo sia il modo più sicuro e hai due opzioni.
Creazione di un nuovo ambiente virtuale con venv:
python3.6 -m venv -n new_env
source venv_env/bin/activate
Creare un condaambiente:
conda create -n new_env python=3.6
conda activate new_env
I pacchetti che installi in un ambiente sono costruiti in base alla versione Python dell'ambiente e se non modifichi attentamente l'ambiente esistente, puoi causare alcune incompatibilità tra i pacchetti. Questo è il motivo per cui consiglierei di utilizzare un nuovo ambiente creato con Python 3.6.
Scarica e installa Python 3.6, quindi modifica la variabile di ambiente del percorso di sistema in quella di python 3.6 ed elimina la variabile di ambiente di sistema del percorso di python 3.7. Riavvia il PC per i risultati.
Se usi anaconda, puoi semplicemente creare un nuovo ambiente con la versione specificata. Nel caso in cui non desideri mantenere la versione 3.7 esistente, puoi semplicemente disinstallarla e installarla da qui .
Per coloro che desiderano aggiungere più versioni di Python nel proprio sistema: aggiungo facilmente più interpreti eseguendo i seguenti comandi:
Ho appena fatto il downgrade del mio Python 3.9 a 3.6 perché volevo usare il pacchetto librosa ma non supporta ancora Python 3.9.
Passi -
Esegui python3 --versionnel terminale e mostrerà questa versione di Python.
conda create -n myenv python=3.6esource activate myenv