R-markdown:python日志记录包似乎是问题的根源

R-markdown:python日志记录包似乎是问题的根源,python,virtualenv,r-markdown,Python,Virtualenv,R Markdown,我面临着一个奇怪的问题,可以追溯到python日志记录包。让我简单地解释一下我想做什么:目标是用python创建html报告。我使用的是R包,它使用本地virtualenv运行python代码 问题: 我一安装pythonlogging包,rmarkdown在加载matplotlib时就会遇到问题。我已经编写了一个小的测试脚本来重现这个示例 我的系统: Ubuntu 18.04仿生版 Python 2.7.15rc1 测试“1”脚本(无日志记录): 创建一个新的virtualenv(ven

我面临着一个奇怪的问题,可以追溯到python
日志记录
包。让我简单地解释一下我想做什么:目标是用python创建html报告。我使用的是R包,它使用本地virtualenv运行python代码

问题: 我一安装python
logging
包,rmarkdown在加载
matplotlib
时就会遇到问题。我已经编写了一个小的测试脚本来重现这个示例

我的系统:

  • Ubuntu 18.04仿生版
  • Python 2.7.15rc1
测试“1”脚本(无
日志记录
):

  • 创建一个新的virtualenv(
    venv
  • 使用
    venv/bin/pip
    安装
    matplotlib
  • 运行
    networkite::import
    (最后通过
    rmarkdown::render
测试“2”脚本(使用
日志记录
):

  • 创建一个新的virtualenv(
    venv
  • 除第一次测试外:通过
    venv/bin/pip
    安装
    日志记录
  • 使用
    venv/bin/pip
    安装
    matplotlib
  • 运行
    networkite::import
    (最后通过
    rmarkdown::render
已安装的模块(virtualenv):

模块(matplotlib)
输出是通过
networkite::import
加载模块的成功消息。可以看到,只有一个测试失败,其中virtualenv与安装的
logging
python模块一起使用

有人知道这些问题的原因吗?我花了相当长的时间来确定错误的来源,但我现在有点迷路了

测试脚本以再现错误

这里有一个小的bash/shell脚本来重现我的测试

#!/bin/bash
# New virtual environment and install matplotlib
echo " ----------- no logging package installed ------------"
if [ -d venv ] ; then rm -rf venv ; fi
virtualenv venv &>/dev/null > /dev/null
venv/bin/pip install matplotlib > /dev/null

# Print installed packages
Rscript -e "reticulate::use_python('venv/bin/python'); reticulate::import('matplotlib')"
Rscript -e "reticulate::import('matplotlib')"

# New virtual environment and install logging and matplotlib
echo " --------- with logging package installed ------------"
if [ -d venv ] ; then rm -rf venv ; fi
virtualenv venv > /dev/null
venv/bin/pip install logging > /dev/null
venv/bin/pip install matplotlib > /dev/null

# Print installed packages
Rscript -e "reticulate::use_python('venv/bin/python'); reticulate::import('matplotlib')"
Rscript -e "reticulate::import('matplotlib')"
我最初认为这与“问题”有关,但解决方案不起作用

请提前感谢! R

记录2.3版Python库中包含的标准模块。您不能从PyPI安装它。请尽快将其删除:

pip uninstall logging
#!/bin/bash
# New virtual environment and install matplotlib
echo " ----------- no logging package installed ------------"
if [ -d venv ] ; then rm -rf venv ; fi
virtualenv venv &>/dev/null > /dev/null
venv/bin/pip install matplotlib > /dev/null

# Print installed packages
Rscript -e "reticulate::use_python('venv/bin/python'); reticulate::import('matplotlib')"
Rscript -e "reticulate::import('matplotlib')"

# New virtual environment and install logging and matplotlib
echo " --------- with logging package installed ------------"
if [ -d venv ] ; then rm -rf venv ; fi
virtualenv venv > /dev/null
venv/bin/pip install logging > /dev/null
venv/bin/pip install matplotlib > /dev/null

# Print installed packages
Rscript -e "reticulate::use_python('venv/bin/python'); reticulate::import('matplotlib')"
Rscript -e "reticulate::import('matplotlib')"
pip uninstall logging