#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!