Ошибка rpy2: sh не распознан и режим API Ошибка импортаPython

Программы на Python
Ответить
Anonymous
 Ошибка rpy2: sh не распознан и режим API Ошибка импорта

Сообщение Anonymous »

Я использую Python 3.11/3.12, R 4.3.1 и VScoding для своей работы, сочетая анализ кода Python и R. rpy2 уже установлен. У меня появилось сообщение об ошибке и код останавливается.

Код: Выделить всё

>>> `import rpy2`
>>> `from rpy2.robjects.packages import importr`
'sh' is not recognized as an internal or external command,
operable program or batch file.
Error importing in API mode: ImportError('On Windows, cffi mode "ANY" is only "ABI".')
Trying to import in ABI mode.

Когда я проигнорировал ошибку и перезапустил код, ошибка исчезла, и все выглядело нормально. Это не большая проблема, но немного раздражает, поскольку каждый раз она останавливается, и мне приходится запускать ее заново.
Я проверил онлайн. Существует решение, предложенное Google AI, в котором говорится, что нужно добавить C:\Program Files\Git\bin в PATH в настройке «Переменные среды». C:\Program Files\Git\bin — это место, где хранится sh.exe, и оно может быть другим, если у вас другое местоположение.
После того как я изменил настройку, перезапустите мой код импорта. Я получил еще одно сообщение об ошибке:

Код: Выделить всё

>>> `from rpy2.robjects.packages import importr`
C:\PROGRA~1\R\R-43~1.1/bin/config.sh: line 187: make: command not found
C:\PROGRA~1\R\R-43~1.1/bin/config.sh: line 188: make: command not found
C:\PROGRA~1\R\R-43~1.1/bin/config.sh: line 189: make: command not found
C:\PROGRA~1\R\R-43~1.1/bin/config.sh: line 190: make: command not found
C:\PROGRA~1\R\R-43~1.1/bin/config.sh: line 191: make: command not found
R was not built as a library
Traceback (most recent call last):
File "", line 1, in 
File "C:\...\Lib\site-packages\rpy2\robjects\__init__.py", line 17, in 
import rpy2.rinterface as rinterface
File "C:\...\Lib\site-packages\your textrpy2\rinterface\__init__.py", line 25, in 
from rpy2.rinterface_lib import openrlib
File "C:\...\Lib\site-packages\rpy2\rinterface_lib\openrlib.py", line 21, in 
for libpath in rpy2.situation.get_r_flags(R_HOME, '--ldflags')[0].L:
TypeError: 'NoneType' object is not iterable
Тогда весь остальной мой код вообще не мог работать.
Поэтому в настоящее время мне приходится оставить сообщение об ошибке «sh» как есть. Интересно, столкнулся ли кто-нибудь с такой же проблемой или нашел решение.
Google Ai также предлагает переустановить пакет rpy2. Поскольку rpy2 установлен недавно, переустановить его невозможно.

Подробнее здесь: https://stackoverflow.com/questions/797 ... mporterror
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»