Python в R - Ошибка: не удалось найти среду Python для / usr / bin / python - PullRequest
4 голосов
/ 02 августа 2020

Я не понимаю, как R обрабатывает среду Python и версию Python и продолжает получать ошибку Error: could not find a Python environment for /usr/bin/python. Я установил Miniconda и создал среду conda в оболочке:

conda activate r-reticulate

Затем в R я пытаюсь установить keras (такая же проблема с пакетом tensorflow):

library(keras)
reticulate::use_condaenv()
install_keras(method = "conda", conda = reticulate::conda_binary())

.. .и получаю следующую ошибку:

Error: could not find a Python environment for /usr/bin/python

Я попытался выяснить, какой Python R следует использовать,

reticulate::py_config()

и получил

python:         /usr/bin/python
libpython:      /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib
pythonhome:     /System/Library/Frameworks/Python.framework/Versions/2.7:/System/Library/Frameworks/Python.framework/Versions/2.7
version:        2.7.16 (default, Jul  5 2020, 02:24:03)  [GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.21) (-macos10.15-objc-
numpy:          /Users/bestocke/Library/Python/2.7/lib/python/site-packages/numpy
numpy_version:  1.16.6
tensorflow:     [NOT FOUND]

python versions found: 
 /usr/bin/python3
 /usr/local/bin/python3
 /usr/bin/python

Я этого не понимаю. Кажется, это использует Python 2.7. Пытаясь выяснить, какой Python используется в оболочке, я получаю:

> which python
/opt/miniconda3/envs/r-reticulate/bin/python

и

> ls -l /opt/miniconda3/envs/r-reticulate/bin/python
lrwxr-xr-x  1 username  wheel  9 Aug  2 15:21 /opt/miniconda3/envs/r-reticulate/bin/python -> python3.6

Рекомендуется использовать Python 3.6.

Что я здесь не так?

Ответы [ 2 ]

1 голос
/ 16 августа 2020

Попробуйте следовать руководству по адресу https://tensorflow.rstudio.com/installation/:

В консоли R-studio:

  1. install.packages(tensorflow)

  2. library(tensorflow)

  3. install_tensorflow()

Если вы не установили Anaconda / Miniconda вручную, тогда на шаге нет. 3 появится запрос на ваше разрешение на установку Miniconda. Если у вас уже установлено conda, то:

  1. Создать новое окружение r-reticulate в conda: conda create -n r-reticulate
  2. Установить тензорный поток из консоли R-studio с параметрами: install_tensorflow(method = 'conda', envname = 'r-reticulate')
  3. Загрузить пакет reticulate library(reticulate)
  4. Активировать среду conda в R-studio use_condaenv('r-reticulate')
  5. Загрузить библиотеку тензорного потока library(tensorflow)
  6. Проверьте, активен ли тензорный поток tf$constant("Hellow Tensorflow")

Ссылки:

0 голосов
/ 01 сентября 2020

Надеюсь, есть время добавить информацию. Я пытался сделать то, что сказал Анугера Эрлаут, но пытался установить Keras GPU на R-studio Server через WSL.

Я знал, что решение будет работать, потому что я пытался на другом компьютере, но устанавливал на Windows, и Keras CPU. После некоторого тестирования (и разочарования) кажется, что Rstudio не имеет разрешений на изменение r-reticulate env.

Итак, я попробовал запустить решение или «чистый R» по команде bash линия, и она работала нормально!

...