【问题标题】:Error using gnuplot from within Sage, but works fine in regular Python在 Sage 中使用 gnuplot 时出错,但在常规 Python 中工作正常
【发布时间】:2012-08-12 15:32:21
【问题描述】:

如果这不是提出这个问题的最佳场所,我深表歉意,但希望这里有人可以提供帮助。我想直接从 Sage 脚本中运行一些 gnuplot 命令,但我收到以下错误消息:

dyld:库未加载:/opt/local/lib/libfreetype.6.dylib 引用自:/opt/local/bin/gnuplot 原因:库版本不兼容:gnuplot 需要 14.0.0 或更高版本,但 libfreetype.6.dylib 提供 10.0.0 版本

如果我尝试在 Sage 中使用 gnuplotpy 接口,或者我只是使用 Sage 中的 os.system("gnuplot -e \"plot('sin(x)')\"") 之类的东西,则会出现此消息。但是,相同的 os.system(...) 命令在常规 python 中工作得很好。非常感谢。

【问题讨论】:

  • 比较 Sage 和 Python 脚本中的 PATH。
  • 在 sage: sage: os.environ.get('PATH') '/Applications/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage/local/Frameworks/Python .framework/Versions/2.5/bin:/Applications/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage:/Applications/Sage-4.7-OSX-64bit-10.6.app/Contents/Resources/sage /local/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/ X11/bin',在常规 shell 中,没有 /Applications/sage 目录,我得到同样的结果。
  • 仅供参考,还有 ask.sagemath.org 和 sage-support 邮件列表,您可以在其中提问。

标签: python gnuplot sage


【解决方案1】:

Sage 更改了许多环境,包括PATHLD_LIBRARY_PATH 等。这可能会导致运行未安装在 Sage 中的二进制文件时出现问题。出于这个原因,它提供了一个 shell 命令sage-native-execute,它(大部分)将所有变量改回来。所以尝试以下方法——它为我解决了这个问题:

os.system('''sage-native-execute gnuplot -e "plot('sin(x)')"''')

【讨论】:

    猜你喜欢
    • 2017-08-13
    • 1970-01-01
    • 2017-12-27
    • 2021-01-12
    • 2018-09-30
    • 1970-01-01
    • 2013-10-20
    • 2021-05-09
    • 1970-01-01
    相关资源
    最近更新 更多