使用Python编写RMarkdown文档时出错

使用Python编写RMarkdown文档时出错,python,r,r-markdown,pandas-datareader,reticulate,Python,R,R Markdown,Pandas Datareader,Reticulate,我目前正在尝试建立一个几乎完全基于python的RMarkdown文档。我有几个这样设置的运行示例,但是我最近的工作似乎不可能实现,即使在我运行所有块时代码运行平稳 从错误消息中,我认为这与我导入pandas datareader有关,但我不知道这是为什么,因为我安装了最新版本,并且检查了我是否使用了正确的环境。这个错误似乎与前几行有关,在那里我导入了包,所以我将为您保留整个文档 请参阅以下相关的前几个代码块: --- title: "ABC" runningheader:

我目前正在尝试建立一个几乎完全基于python的RMarkdown文档。我有几个这样设置的运行示例,但是我最近的工作似乎不可能实现,即使在我运行所有块时代码运行平稳

从错误消息中,我认为这与我导入pandas datareader有关,但我不知道这是为什么,因为我安装了最新版本,并且检查了我是否使用了正确的环境。这个错误似乎与前几行有关,在那里我导入了包,所以我将为您保留整个文档

请参阅以下相关的前几个代码块:

---
title: "ABC"
runningheader: "ABC" # only for pdf output
subtitle: "ABC" # only for html output
output: html_document
author: "Jan Felix"
abstract: "An RMarkdown document with all the relevant python packages."
date: "`r format(Sys.time(), '%B %d, %Y')`"
---
这显然不是我问题的答案,但它缩小了可能性。将文档中的pandas datareader调用为knit似乎不起作用

library(reticulate)
library(knitr)
knitr::opts_chunk$set(message = FALSE, echo = FALSE, warning = FALSE, error = FALSE)
import numpy as np
import pandas as pd
pd.options.mode.chained_assignment = None 
import matplotlib.pyplot as plt
import pandas_datareader as pdr
import os
import datetime
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = 'C:/Users/janfe/Anaconda3/Library/plugins/platforms'
np.random.seed(seed=1994)
Quitting from lines 18-27 (Pyfi.Rmd) 
Error in py_call_impl(callable, dots$args, dots$keywords) : 
  ImportError: cannot import name 'StringIO'

Detailed traceback: 
  File "<string>", line 1, in <module>
  File "C:\Users\janfe\Documents\R\win-library\4.0\reticulate\python\rpytools\loader.py", line 24, in _import_hook
    level=level
  File "C:\Users\janfe\ANACON~1\lib\site-packages\pandas_datareader\__init__.py", line 2, in <module>
    from .data import (DataReader, Options, get_components_yahoo,
  File "C:\Users\janfe\Documents\R\win-library\4.0\reticulate\python\rpytools\loader.py", line 24, in _import_hook
    level=level
  File "C:\Users\janfe\ANACON~1\lib\site-packages\pandas_datareader\data.py", line 7, in <module>
    from pandas_datareader.av.forex import AVForexReader
  File "C:\Users\janfe\Documents\R\win-library\4.0\reticulate\python\rpytools\loader.py", line 24, in _import_hook
    level=level
  File "C:\Users\janfe\ANACON~1\lib\site-packages\pandas_datareader\av\__init__.py", line 3, in <module>
    from pandas_datareader.base import _BaseReader
  File "C:\Us
Calls: <Anonymous> ... py_capture_output -> force -> <Anonymous> -> py_call_impl
#import pandas_datareader as pdr 
#fred = pdr.DataReader(symbols, 'fred', start, end)
#fred.to_csv("fred.csv")

fred = pd.read_csv("fred.csv", index_col = "DATE")
fred.index = pd.DatetimeIndex(fred.index)