Как правильно установить путь Python для сетчатого пакета в OSX High Sierra? - PullRequest
0 голосов
/ 23 сентября 2018

Я установил Python 3.7 в папку по умолчанию для High Sierra, используя официальный пакет OSX, загруженный с официального сайта Python.Когда я запускаю

which python3

, я получаю путь

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3

Затем я запускаю следующие строки в R Studio

reticulate::use_python(python = '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3')
sys <- import("sys")
sys$version

Кажется, что я все еще указываюк установке по умолчанию 2.7

[1] "2.7.10 (default, Oct  6 2017, 22:29:07) \n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]"

Я пробовал много других путей, таких как

/usr/local/bin/python3
/usr/local/bin
/Library/Frameworks/Python.framework/Versions/3.7/lib
/usr/bin/python
/Applications/Python 3.7

и т. д., но, похоже, ни один из них не работает.(он по-прежнему показывает 2.7.10)

Очевидно, я попытался найти решение, но, к сожалению, безрезультатно.Любое руководство будет с благодарностью.


Обновление: Я наконец-то заставил его работать:

  1. Перезапуск сеанса R в соответствии с рекомендациями сервера.inc
  2. Выполнение следующих команд:

    library(reticulate) reticulate::use_python(python = '/Library/Frameworks/Python.framework/Versions/3.7/bin/python3', required = T) sys <- import("sys") sys$version

    , чтобы получить следующий ответ:

    [1] "3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) \n[Clang 6.0 (clang-600.0.57)]"

  3. Если я неправильно указал неверный путь, такой как /usr/bin/python, мне нужно было бы перезапустить сеанс R, иначе сетчатый указатель продолжит ссылаться на существующую версию Python.

Короче говоря, проблема была вызвана неверным путем, указанным при первоначальном вызове функции reticulate::use_python, и последующие вызовы с правильным путем не вступили бы в силу, так как для этого требовался «свежий» сеанс R.

1 Ответ

0 голосов
/ 23 сентября 2018

См. https://github.com/rstudio/reticulate/issues/45:

До

library("reticulate")
use_python("/usr/bin/python", required = T)

Прежде всего.

См. Также https://github.com/rstudio/reticulate/issues/227:

reticulate всегда предпочитает версию Python, включающую NumPy, той, которая не имеет.Есть ли версия в / usr / local / bin / python3 с NumPy?

Очевидно, я пробовал поискать решение для поиска

Иногда,помогает поиск в Google только имени функции "reticulate :: use_python".

...