2011-05-25 67 views
4

我在库(动画)中的SaveGIF函数遇到问题。该功能使我这个错误:在动画包中找不到使用SaveGIF函数的'转换'

Error in cmd.fun(sprintf("%s --version", convert), intern = TRUE, ignore.stdout = !interactive(), :
unused argument(s) (ignore.stdout = !interactive())
I cannot find ImageMagick with convert = 'convert'
NULL
Warning message:
In im.convert(img.files, output = movie.name, convert = convert, :
Please install ImageMagick first or put its bin path into the system PATH variable

什么让我困惑的是,我必须将我的系统上,所以我预计SaveGIF要能够找到它没有任何麻烦:

[email protected]:~$ convert --version

Version: ImageMagick 6.5.7-8 2010-12-02 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009

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

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

+0

这个问题是相当古老的,但我想添加一个评论,看看在未来的人。我在Windows机器上遇到了同样的问题,尽管路径设置正确,以包含Imagemagick的目录。这对我来说有效,但如果有相同问题的人可以确认此解决方案也适用于他们,那将是一件好事:http://stackoverflow.com/questions/26933194/error-saving-gif-video- with-r-animation-library-and-imagemagick/28710980#28710980 – coffeinjunky 2015-02-25 16:13:46

回答

1

您可以找到您的转换功能一起住system("which convert", intern=TRUE),然后你(也许可以),其添加到您的PATH变量,

Sys.setenv(PATH=...)

+0

我试过了,但没有成功;系统(“转换”,intern = TRUE)返回“/ usr/bin/convert”,我运行Sys.setenv(PATH =“/ usr/bin/convert”),例如saveGIF(brownian.motion())仍然给出相同的“请首先安装ImageMagick或将其bin路径放入系统PATH变量”错误。 – Adrian 2011-05-27 00:05:52

+0

我认为这将是Sys.setenv(PATH =“/ usr/bin”)。运行后,尝试Sys.getenv()$ PATH并查看它返回的内容。 – Greg 2011-05-27 00:40:53

2

你可能不编辑您的PATH变量。在Windows 7(但可能会在早期版本的工作),请访问:

开始菜单

右键点击电脑 - >属性

高级系统设置

环境变量

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

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

C:\ Program Files文件\的ImageMagick-6.6.7-Q16

确保只添加它,不能改变什么别的路径变量。用分号加上。

+0

对不起,我应该在原文中指定:我使用Ubuntu,而不是Windows。 – Adrian 2011-05-27 00:09:06

+0

啊对,我假设Windows是因为路径变量错误在其中很常见。 – 2011-05-27 07:29:45

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,我建议您升级到最新版本。有关如何使用CRAN更新R更新,请参阅http://cran.r-project.org/bin/linux/ubuntu/

+0

我在OS X,R 3.1.1上看到这个错误,并确认我已经转换为OP。有什么建议么? – 2014-10-22 10:41:34

+0

@MaxGhenis OP使用的是Ubuntu,并且您没有告诉我们您的OS X版本。如果是优胜美地,我不会感到惊讶:http://stackoverflow.com/q/26491934/559676 – 2014-10-22 15:48:36

+0

我在小牛队 – 2014-10-22 15:53:52

0

在尝试所有这些修复以及thesethese都没有成功后,我使用替代软件从saveHTML成功创建的png文件进行转换。有几个程序被描述为here。我是一名Windows用户,发现该网站中包含的简单说明用于VirtualDub快速完成此任务。