RStudio découvre l'installation de Python pyenv, mais je ne peux pas exécuter les processus Python
J'essaye d'exécuter Python dans RStudio. J'ai installé Python 3.8.5 via pyenv et créé un environnement virtuel avec pyenv virtualenv (que j'appelle venv-Rstudio) dans mon dossier de projet RStudio. Sur la base des instructions données ici , je pense avoir correctement réussi à indiquer à RStudio quel environnement Python utiliser:
>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
Lorsque j'essaye d'appeler Python, j'obtiens l'erreur suivante:
> 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.
Je soupçonne que cela a quelque chose à voir avec libpython: [NOT FOUND]vu ci-dessus, mais je me suis assuré que libpython est installé dans l'environnement virtuel venv-Rstudio:
(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
...
Des idées de ce que je pourrais manquer et comment résoudre ce problème? J'utilise macOS 10.15.7 Catalina, RStudio 1.3 avec R version 4.0.2.
Réponses
Après avoir posté ma question, cette question est apparue dans la liste associée , et cette réponse de @nucholab a résolu mon problème. En bref, la réinstallation de Python avec pyenv à l'aide de la commande suivante permet de partager des bibliothèques:
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.8.5
Après cela et recréer mon environnement virtuel (et pour mémoire, installer numpy), le chargement de Python dans RStudio fonctionne comme prévu:
> 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