Instalarea tensorflow cu virtualenv pip în Anaconda (Programare, Python, Tensorflow, Anaconda, Virtualenv)

Codoscop a intrebat.

Încerc să instalez tensorflow cu pip în virtualenv în Anaconda pentru Windows 10. După ce mi-am activat virtualenv-ul, atunci când execut pip install tensorflow, , primesc o eroare:

ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

Acest lucru s-ar putea datora faptului că tensorflow nu acceptă Python3.8 pe care îl folosesc. Actualizarea postului spune că acum ar trebui să funcționeze, dar pentru mine nu funcționează. Am încercat ceea ce sugerează răspunsurile, fără mai mult noroc.

Deci, am încercat următoarele pentru a face downgrade la Python3.7:

  • conda install python=3.7.1
  • setarea unui virtualenv cu versiunea Python3.7
  • crearea unui mediu conda cu Python3.7
  • instalarea unui versiune mai veche de Anaconda care conține Python3.7

Dar oricare dintre aceste încercări vede incredibil de mult Python trece înapoi la versiunea 3.8 atunci când activez virtualenv-ul. Chiar dacă distrug mediul și îl creez din nou în Anaconda mai veche.

De asemenea, am încercat py -3.7 -m pip install tensorflow în Anaconda cu Python3.7 (nu găsește versiunea corectă de Python atunci când se folosește Anaconda mai recentă). Aceasta a dus la eroarea:

Cannot uninstall ‘wrapt’. Este un proiect instalat de distutils și, prin urmare, nu putem determina cu exactitate ce fișiere îi aparțin, ceea ce ar duce la o dezinstalare doar parțială.

Am rezolvat problema rulând conda update wrapt și am lansat din nou comanda de instalare a tensorflow. După mai multe instalări și eliminări de pachete, a afișat următoarea eroare:

ERROR: După octombrie 2020, este posibil să apară erori la instalarea sau actualizarea pachetelor. Acest lucru se datorează faptului că pip va schimba modul în care rezolvă conflictele de dependență.

Vă recomandăm să utilizați –use-feature=202020-resolver pentru a testa pachetele dvs. cu noul rezolutor înainte ca acesta să devină implicit.

pytest-doctestplus 0.2.0 necesită pytest>=2.8.0, dar veți avea pytest 0.0.0.0, care este incompatibil. pytest-astropy 0.5.0 necesită pytest>=3.1.0, dar veți avea pytest 0.0.0.0, care este incompatibil.

Și, de fapt, pot vedea că instalarea nu a funcționat:

  • pip freeze > requirements.txt creează un fișier requirements.txt gol

  • în consola Python, atunci când încerc să import keras, , se rezolvă la:

     Traceback (most recent call last):
       File "C:Usersmy_private_pathvenvlibsite-packageskeras__init__.py", line 3, in <module>
         from tensorflow.keras.layers.experimental.preprocessing import RandomRotation
     ModuleNotFoundError: No module named 'tensorflow'
    
     During handling of the above exception, another exception occurred:
    
     Traceback (most recent call last):
       File "<stdin>", line 1, in <module>
       File "C:Usersmy_private_pathvenvlibsite-packageskeras__init__.py", line 5, in <module>
         raise ImportError(
     ImportError: Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow`
    

Se pare că, indiferent de câte căi încerc, tensorflow nu-i place virtualenv în Anaconda. Ar avea cineva o cale care să funcționeze?

1 răspunsuri
Gerry P

Folosesc medii virtuale cu tensorflow tot timpul și funcționează bine. Mai întâi utilizați Anaconda pentru a crea un nou mediu. De pe pagina de pornire Anaconda faceți clic pe Environments. când apare pagina Environment faceți clic pe create. Va apărea o nouă fereastră. Dați un nume mediului (de exemplu, numiți-l tf), bifați caseta de selectare python. Din meniul derulant selectați python 3.7. Un nou mediu numit tf este creat cu python 3.7 instalat.Acum mergeți la promptul Anaconda care este conda. tastați conda activate tf. Acum folosiți conda pentru a instala tensorflow (nu folosiți pip). Conda instalează automat cudnn 7.6.5 și CUDA Toolkit 10.1.243 și tensorflow 2.1.0. Dacă doriți tensorflow 2.2, instalați mai întâi tensorflow 2.1.0 așa cum este descris. Apoi utilizați pip pentru a instala 2.2 cu pip install tensorflow ==2.2.0. 2.2 este compatibil cu versiunile toolkit și cudnn instalate cu 2.1. Conda poate instala tensorflow doar până la versiunea 2.1.0. Instalați orice alte pachete de care aveți nevoie folosind fie pip, fie conda.

Comentarii

  • A funcționat. Pentru viitorii vizitatori, iată pașii pe care i-am urmat: conda create --name py371 python=3.7.1 --channel conda-forge conda activate py371 conda install tensorflow virtualenv venv venvScriptsactivate pip install tensorflow==2.2.0. –  > Por Codoscop.
  • Mă bucur că ți-a rezolvat problema. Ar trebui să modifice instalarea pip astfel încât să funcționeze ca și instalarea conda. Sper ca cei de la Anaconda să o actualizeze în curând pentru versiuni superioare –  > Por Gerry P.
  • Ar fi grozav pentru că mi-am dat seama de un dezavantaj cu această tehnică: pip freezeing creează căi absolute și pip installing nu funcționează. Rulează pip install tensorflow==2.2.0 de fiecare dată este necesar. –  > Por Codoscop.