我使用 win-7,64 位。我下载了与 miktex 2.9 一起打包的 lyx bundle 2.1.4。安装后,当我运行该程序时,弹出一个窗口,上面写着-‘lyx:未找到文本类’详细来说,它告诉我们——“lyx 将仅具有基本功能,因为未找到任何文本类。您可以尝试正常重新配置 Lyx,尝试在不检查 latex 安装的情况下重新配置,或者继续。”
此后 Lyx 打开,但错误消息如“未找到文档类”不断出现。似乎我无法将 lyx 上准备的文档保存为 .lyx 以外的任何格式。Lyx 本身似乎工作正常。数学方程式编辑似乎运行正常。但如何以 .lyx 以外的格式保存文档?请注意,我是 Latex 的新手,还不太了解。
在 lyx 教程中,它说你可以通过以下方式创建 PDF文档进而看法.但是'看法' 选项 '文档' 根本没有回应。
我尝试了很多方法,但都没有成功。我尝试单独安装基本的 miktex 2.9前lyx 我也尝试安装 lyx 以前的稳定版本。似乎没有什么效果。请帮助我让 lyx 正常工作。
编辑:我尝试重新配置,但出现另一条错误消息,告诉我再次重新配置......
谢谢。
答案1
我为此奋斗了整整一天,却一无所获,直到我找到了我认为是问题所在。以下是我所做的:
1)以管理员权限在 Windows 中打开命令提示符。
2) 导航到我的机器上包含 lyx.exe 的目录“c:\program files (x86)\lyx 2.1\bin”。
3)执行lyx.exe
4) 所有涉及 python 调用的操作都失败 - 重新配置(使用 configure.py)、打开旧文档(使用 lyx2lyx)等等。
5)退出 lyx 并返回命令提示符
6)在命令行上输入“set pythonpath=”,清除pythonpath。
7)在命令行上输入“set path=”,清除路径。
8) 输入 lyx.exe 重新进入 lyx
9)现在一切正常!
我不确定这里的所有相关信息,但我运行的是安装了 64 位 Python 的 Windows 10。我相信 lyx Python 调用正在尝试运行我的 Python 安装,而不是 Lyx 附带的 Python 安装,这就是问题所在 - 两者不兼容。通过清除路径和 Python 路径,它似乎强制 Lyx 找到它安装的 Python,并且一切正常。
我希望这对某些人和 Lyx 开发人员有所帮助。
答案2
我今天遇到了这个问题(Win 8.1-64 位,Lyx 2.2.2.4),最终弄清楚了如何让 Lyx 启动(至少在我的计算机上),所以我分享我的解决方案以防万一它可以提供帮助:
- 打开控制面板/系统/高级(或类似的,我的窗口是本地化的)。
- 创建一个名为 LyxDir 的环境变量,指向 Lyx 安装文件夹。我选择创建一个系统级变量,我想用户级变量也应该可以。
- 现在 Lyx 应该可以完美启动了。
- 在 Lyx 中,在 tools/preferences/paths 下,您可以看到“路径前缀”使用了此变量。看来安装程序尚未设置它。
答案3
我在 Windows 7-64 位、MikTeX 2.9 和 LyX 2.3.2-2 上遇到了这个问题。其他答案都对我不起作用。最后看来原因可能是 Windows 路径中的空格。我的观察如下:
- 最初我将 MikTeX 安装在“C:\Program Files”中,将 LyX 安装在“C:\Program Files (x86)”中。问题出现了。
- 卸载 LyX 并在“C:\lyx”中重新安装没有帮助。问题仍然存在。
- 卸载了 LyX 和 MikTeX。
- 在“C:\miktex”中安装了 MikTeX。
- 在“C:\lyx”中安装了 LyX。现在 LyX 已启动并运行正常。
将 MikTeX 安装在没有空格的路径下可能就足够了,我没有测试过。
不幸的是,许多程序安装在“C:\Program Files”中时无法正确运行,但在没有空格的路径中却可以正常运行。
答案4
就我而言,该问题属于 Windows 10 上已存在的 inkscape 安装。
函数中有一个错误检查Inkscape()的
./资源/configure.py
脚本。
def checkInkscape():
''' Check whether Inkscape is available and return the full path (Windows only) '''
''' On Mac OS (darwin) a wrapper is used - therefore the version is checked '''
''' The answer of the real inkscape is validated and a fake binary used if this fails '''
if sys.platform == 'darwin':
version_string = cmdOutput("inkscape --version")
match = re.match('^Inkscape', version_string)
if match:
return 'inkscape'
else:
return 'inkscape-binary'
elif os.name != 'nt':
return 'inkscape'
if sys.version_info[0] < 3:
import _winreg as winreg
else:
import winreg
aReg = winreg.ConnectRegistry(None, winreg.HKEY_CLASSES_ROOT)
try:
aKey = winreg.OpenKey(aReg, r"inkscape.svg\DefaultIcon")
val = winreg.QueryValueEx(aKey, "")
print (val)
# ---------------- Here the error line ----------------
return str(val[0]).split('"')[1]
# --------- the registry key value doesn't contains any quote
# --------- it contains a comma to separate the file name from the icon #.
# --------- So the split() function won't return any array
# --------- and the index [1] cause an error stopping the python script.
# ---------------- ----------------
except EnvironmentError:
try:
aKey = winreg.OpenKey(aReg, r"Applications\inkscape.exe\shell\open\command")
val = winreg.QueryValueEx(aKey, "")
return str(val[0]).split('"')[1]
except EnvironmentError:
return 'inkscape'
我将该行改为:
return str(val[0]).split(',')[1]
并重新启动 LyX,第一次尝试就成功了!