【问题标题】:Cannot find 'convert' using SaveGIF function in animation package在动画包中使用 SaveGIF 函数找不到“转换”
【发布时间】:2011-05-25 23:58:33
【问题描述】:

我在使用库(动画)中的 SaveGIF 函数时遇到问题。该函数给了我这个错误:

cmd.fun 中的错误(sprintf("%s --version", convert), intern = TRUE, ignore.stdout = !interactive(), :
未使用的参数 (ignore.stdout = !interactive())
我找不到带有 convert = 'convert' 的 ImageMagick

警告信息:
在 im.convert(img.files, output = movie.name, convert = convert, :
请先安装 ImageMagick 或将其 bin 路径放入系统 PATH 变量中

让我感到困惑的是我的系统上确实有转换,所以我希望 SaveGIF 能够毫无问题地找到它:

me@my-laptop:~$ convert --version

版本:ImageMagick 6.5.7-8 2010-12-02 Q16 http://www.imagemagick.org
版权所有:版权所有 (C) 1999-2009

如何将 convert 的 bin 路径添加到系统 PATH 变量中?

编辑:我使用的是 Ubuntu,而不是 Windows。

【问题讨论】:

  • 这个问题已经很老了,但我想为那些期待未来的人补充一句。尽管路径设置正确以包含 Imagemagick 的目录,但我在 Windows 机器上遇到了同样的问题。对我有用的是这个,但如果有同样问题的人可以确认这个解决方案也适用于他们,那就太好了:stackoverflow.com/questions/26933194/…

标签: r animation ubuntu


【解决方案1】:

您可能没有编辑 PATH 变量。在 Windows 7 上(但可能适用于早期版本)转到:

开始菜单

右键计算机->属性

高级系统设置

环境变量

然后在“系统变量”(下部窗格)下找到变量“路径”,选择它 并点击编辑。

您对变量值的内容感兴趣(可以将其复制到文本编辑器以便更好地阅读)。它应该包含指向 imagemagick 的链接,用分号与其他变量分隔。对我来说,imagemagick 的路径是:

C:\Program Files\ImageMagick-6.6.7-Q16

确保只添加它,而不是更改路径变量的任何其他内容。用分号添加。

【讨论】:

  • 对不起,我应该在原帖中说明:我使用的是 Ubuntu,而不是 Windows。
  • 对,我假设是 Windows,因为路径变量错误在其中很常见。
【解决方案2】:

通常我们在Linux下不需要手动设置PATH变量。我也在使用 Ubuntu,但我无法重现您的错误。你的 R 版本是多少?

> sessionInfo()
R version 2.13.0 (2011-04-13)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] animation_2.0-4    

据我所知,错误来自函数system(),而不是无法找到convert。参数ignore.stdout 出现在 R 2.12.1 中,因此您必须使用较低版本的 R。当前版本是 2.13.0,建议您升级到最新版本。请参阅http://cran.r-project.org/bin/linux/ubuntu/,了解如何使用 CRAN 更新 R。

【讨论】:

  • 我在 OS X、R 3.1.1 上看到了这个错误,并确认我已经像 OP 一样进行了转换。有什么建议吗?
  • @MaxGhenis OP 使用的是 Ubuntu,你没有告诉我们你的 OS X 版本。如果是优胜美地,我不会感到惊讶:stackoverflow.com/q/26491934/559676
【解决方案3】:

您可以使用 system("which convert", intern=TRUE) 找到您的转换函数所在的位置,然后您(也许可以)使用

将其添加到您的 PATH 变量中

Sys.setenv(PATH=...)

【讨论】:

  • 我试过了,但没有成功; system("which convert", intern=TRUE) 返回 "/usr/bin/convert",我运行了 Sys.setenv(PATH="/usr/bin/convert") 并且例如 saveGIF(brownian.motion()) 仍然给出同样的“请先安装 ImageMagick 或将其 bin 路径放入系统 PATH 变量”错误。
  • 我认为应该是 Sys.setenv(PATH="/usr/bin")。运行之后,尝试 Sys.getenv()$PATH 并查看它返回的内容。
【解决方案4】:

在尝试所有这些修复以及thesethese 均未成功后,我使用替代软件从使用saveHTML 成功创建的 png 文件进行转换。描述了几个程序here。我是 Windows 用户,发现该站点中包含的针对 VirtualDub 的简单说明很快就完成了这项任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-23
    • 2017-09-19
    • 2012-03-07
    • 2019-11-01
    • 1970-01-01
    • 2021-11-09
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多