注意:我在Windows上使用Git Bash。
因此,我正在尝试为我的课堂工作建立一个开发环境。它将涉及R
和Python
中编码的组合。
我使用pipenv
和virtualenv
创建了虚拟环境,两者都遇到了相同的问题。因此,首先,让我们在子文件夹dev_env
中为项目创建一个虚拟环境:
cd project_folder/dev_env
pipenv --python 3.7
pipenv --py
输出
C:\Users\Ra Me\.virtualenvs\dev_env-5TUtSZI9\Scripts\python.exe
现在,我要进入file.rmd
并尝试使用reticulate
软件包。
#install.packages("reticulate")
library(reticulate)
接下来,我尝试了2种方法:
Sys.setenv(RETICULATE_PYTHON = "C:/Users/Ra Me/.virtualenvs/dev_env-5TUtSZI9/Scripts")
或
use_virtualenv("C:/Users/Ra Me/.virtualenvs/dev_env-5TUtSZI9/", required = TRUE)
x = 1
if x:
print('Hello!')
他们两个都产生了错误
Fatal Python error: initfsencoding: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
但是,当我更改为机器上所有用户安装的Python
环境的路径时,它就可以使用。
Sys.setenv(RETICULATE_PYTHON = "C:/Program Files/Python37/")
此方法也有效。但是,这里我们甚至没有使用reticulate
项目。
knitr::opts_chunk$set(engine.path = list(
python = "C:/Program Files/Python37/python.exe",
r = "C:/Program Files/R/R-3.6.1/bin/R.exe"
))