RStudio entdeckt die Python-Pyenv-Installation, aber ich kann keine Python-Prozesse ausführen
Ich versuche Python in RStudio auszuführen. Ich habe Python 3.8.5 über pyenv installiert und eine virtuelle Umgebung mit pyenv virtualenv (das ich venv-Rstudio nenne) in meinem RStudio-Projektordner erstellt. Aufgrund der hier gegebenen Anweisungen denke ich, dass ich es richtig geschafft habe, RStudio anzugeben, welche Python-Umgebung verwendet werden soll:
>Sys.setenv(RETICULATE_PYTHON="/Users/my_username/.pyenv/versions/venv-Rstudio/bin/python")
> py_discover_config()
python: /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/bin/python
libpython: [NOT FOUND]
pythonhome: /Users/my_username/.pyenv/versions/3.8.5:/Users/my_username/.pyenv/versions/3.8.5
version: 3.8.5 (default, Oct 1 2020, 21:50:37) [Clang 12.0.0 (clang-1200.0.32.2)]
numpy: /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/lib/python3.8/site-packages/numpy
numpy_version: 1.18.5
Beim Versuch, Python aufzurufen, wird folgende Fehlermeldung angezeigt:
> py_config()
Error: Python shared library not found, Python bindings not loaded.
Use reticulate::install_miniconda() if you'd like to install a Miniconda Python environment.
Ich vermute, dass dies etwas mit dem libpython: [NOT FOUND]oben gezeigten zu tun hat , aber ich habe sichergestellt, dass libpython in der virtuellen Umgebung von venv-Rstudio installiert ist:
(venv-Rstudio) my_username@MBP15 Rstudio % pip list
Package Version
---------------------- ---------
...
Keras 2.4.3
Keras-Preprocessing 1.1.2
libpython 0.2
Markdown 3.2.2
multidict 4.7.6
numpy 1.18.5
...
Irgendwelche Ideen, was mir fehlen könnte und wie man das behebt? Ich verwende macOS 10.15.7 Catalina, RStudio 1.3 mit R Version 4.0.2.
Antworten
Nachdem ich meine Frage gestellt hatte, erschien diese Frage in der Liste der verwandten Themen , und diese Antwort von @nucholab löste mein Problem. Kurz gesagt, die Neuinstallation von Python mit pyenv mithilfe des folgenden Befehls ermöglicht gemeinsam nutzbare Bibliotheken:
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.8.5
Danach und nach dem Neuerstellen meiner virtuellen Umgebung (und für die Aufzeichnung die Installation von numpy) funktioniert das Laden von Python in RStudio wie erwartet:
> py_config()
python: /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/bin/python
libpython: /Users/my_username/.pyenv/versions/3.8.5/lib/libpython3.8.dylib
pythonhome: /Users/my_username/.pyenv/versions/3.8.5:/Users/andreas/.pyenv/versions/3.8.5
version: 3.8.5 (default, Oct 2 2020, 13:54:11) [Clang 12.0.0 (clang-1200.0.32.2)]
numpy: /Users/my_username/.pyenv/versions/3.8.5/envs/venv-Rstudio/lib/python3.8/site-packages/numpy
numpy_version: 1.19.2
tensorflow: [NOT FOUND]
NOTE: Python version was forced by RETICULATE_PYTHON