Не удается установить tensorflow с помощью reticulate через conda, virtualenv или py_install

#python #r #tensorflow #virtualenv #reticulate

Вопрос:

У меня возникли некоторые reticulate проблемы при попытке использовать tensorflow . Если я запускаю обычный сеанс R или обычный сеанс Python в CLI, я могу установить и использовать tensorflow.

 library(reticulate) # loads fine conda_create("r-reticulate") # seems to work conda_install("r-reticulate", "scipy") # seems to work conda_install("r-reticulate", "tensorflow") # fails  
 # Collecting package metadata (current_repodata.json): ...working... done # Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve. # Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source. #  # ResolvePackageNotFound:  # - python=3.1 #  # Error: one or more Python packages failed to install [error code 1]  

Не уверен, в чем дело, поэтому я пытаюсь

 use_condaenv("r-reticulate") # seems to work  py_install("tensorflow") # fails  

что приводит к ошибке:

Ошибка: не удалось найти среду Python для /opt/local/bin/python3.9

И тогда я попытался:

 virtualenv_create("rstudio-python-virtualenv")  

что приводит к ошибке

ОШИБКА: Не удалось очистить каталог сборки для numpy

Несмотря на то, что это не удалось, просто для смеха я попытался

 virtualenv_install("rstudio-python-virtualenv", "tensorflow")   

который бросает

ОШИБКА: Не удалось найти версию, удовлетворяющую требованию tensorflow (из версий: нет)

После еще нескольких устранений неполадок я попытался изменить интерпретатор Python, указанный в разделе «Глобальные параметры», на эти 2 новые виртуальные среды, созданные выше. Это никак не повлияло на сообщения об ошибках.

Я также попробовал reticulate::py_install("tensorflow") , какие броски:

 Collecting package metadata (current_repodata.json): ...working... done Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve. Solving environment: ...working... failed with repodata from current_repodata.json, will retry with next repodata source.  ResolvePackageNotFound:   - python=3.1  Error: one or more Python packages failed to install [error code 1] gt;  

Комментарии:

1. Однажды я столкнулся с множеством проблем, используя conda, вы пробовали вместо этого использовать простую свежую установку python и установить для нее среду по умолчанию для reticulate?

2. @bricx Интересно. Ну, я попробовал Python 3.7 и 3.9, которые уже были установлены в моей системе, затем я сделал новую установку conda, и она установила 3.10. Похоже, что 3.10 может быть слишком новым для версии tensorflow conda, основанной на конфликтах зависимостей, которые я вижу, поэтому я собираюсь попробовать с 3.6.

Ответ №1:

В настоящее время, по крайней мере, часть проблемы conda_create заключалась в создании сред на основе версий Python, которые были слишком новыми для версии tensorflow , которую он пытался установить (т. е. Python v3.10.0). Это сработало:

 conda_create("r-py-conda-3.6", python_version = "3.6") conda_install(envname = "r-py-conda-3.6",   packages=("tensorflow"))  

Комментарии:

1. У меня была та же проблема, и это ответ, который ее решил. Спасибо @Hack-R!