首页 > 解决方案 > Linux Ubuntu 如何从 python eclipse anaconda 启动标准应用程序 scribus

问题描述

我编辑了我的问题,希望现在能更好地描述它。

我正在开发一个软件,它可以为我提供带有大量 matplotlib 图形的精美 PDF,具体取决于我获得的数据。因此,考虑一个页面数据库, 然后软件决定选择哪些页面并填充更改的图像,文本保持不变。 例如,对于 data1,我得到 page1-4 和 page7 和 page 9。对于 data2,我得到 page1-4 和 page6。另存为 PDF。我正在使用需要更改的 Quark 手动执行此操作。我希望我能弄清楚这样做的脚本。

但对于初学者来说,我不能从发展中的环境开始 scribus。Ubuntu 上的 Eclipse Anaconda。

import subprocess
subprocess.run('scribus')

在终端中工作正常,但在 Eclipse 中给我一个我无法弄清楚的错误。

文件“/home/b256/anaconda3/envs/test/lib/python3.7/site.py”,第 178 行文件=sys.stderr) ^ SyntaxError: invalid syntax

这似乎是 site.py 文件中的一些 Python 2 错误

???这是一些蟒蛇python路径错误吗?

标签: python-3.xeclipseubuntuscribus

解决方案


我不太清楚你想要实现什么,但欢迎你看看我的脚本:

https://github.com/aoloe/scribus-script-repository/blob/master/imposition/imposition.py

这可能比您想要实现的要复杂一些:

  • 脚本从终端启动,
  • 如果它注意到它没有从 Scribus 内部启动(上的例外import scribus)......
  • ...它以自身作为要运行的脚本启动 Scribus。
  • 脚本再次运行,这次是从 Scribus 内部...
  • ...现在导入scribus和脚本主体运行时也不例外。

当然,如果您启动一个脚本来启动 Scribus 和其他脚本,它会更简单。

对你来说,最重要的可能是:

call(['scribus', '-g', '-py', sys.argv[0]] + arguments + ['--', file])

它从 Python 启动 Scribus

  • 尽可能少的 GUI ( -g) 和
  • 启动脚本sys.argv[0]
  • 有几个arguments
  • --告诉 Scribus 打开什么文件之后。

推荐阅读