pythonimmediate 软件包

pythonimmediate 软件包

我正在尝试加载并使用该包pythonimmediate但我很难确定哪里出了问题。我通过 Anaconda 发行版安装了 python 3.7。似乎该软件包需要更新的版本,所以我将其更新为 python 3.9。我还必须让 python3 指向 python 命令。但现在我得到了以下信息:

!包 pythonimmediate 错误:无法读取行!

输入以继续。
 ...                                              
                                                  
l.123 }
        
回溯(最近一次调用最后一次):文件“C:\Program Files\MiKTeX 2.9\tex\latex\pythonimmediate\pythonimmediate_script_textopy.py”,第 60 行,在连接 = 客户端(地址)文件“C:\ProgramData\Anaconda3\lib\multiprocessing\connection.py”,第 507 行,在客户端
c = SocketClient(address) 文件“C:\ProgramData\Anaconda3\lib\multiprocessing\connection.py”,第 635 行,在 SocketClient s.connect(address) ConnectionRefusedError: [WinError 10061] 如果未建立连接,则表示表示拒绝

此外,日志文件没有生成。有人知道发生了什么事吗?我可以做些什么来让它正常工作?非常感谢

答案1

使用 0.3.0 版本,我使用以下代码测试了它在 MikTeX 上的运行情况:

\documentclass{article}
%\usepackage{tlanalysispatch}  % I need this one because my LaTeX3 version is too old
\usepackage[python-executable=python,args={--naive-flush}]{pythonimmediate}
\begin{document}

456

\pyc{from pythonimmediate import*;print_TeX(123)}

\begin{pycode}
print_TeX(123)
\end{pycode}

\end{document}

从 PyPI 下载。您还需要更新 sty 文件。(目前尚未发布到 CTAN)

--naive-flush非常慢。如果您切换到 LuaLaTeX,则不需要该标志。


旧答案:

我尝试在 Windows 上运行代码,但遇到了一些问题:

  • 我的 MikTeX 版本有点旧,所以它有一个错误(见https://github.com/latex3/latex3/blob/main/l3kernel/CHANGELOG.md#2022-04-10),这会破坏依赖包。(已修复)
  • Windows 编码默认不是 UTF8。(已修复)
  • 写入 TeX 的过程隐藏了 stderr,这使其调试起来有点困难。(没什么大不了的)
  • 如果有什么东西占用了网络套接字,就会导致问题中显示的网络错误消息(已在最新版本中修复,见下文)。
  • MikTeX 在写入后不会刷新输出(即使它被写入管道)。
  • TeX 不会关闭管道,并且包尝试从 TeX 读取一行额外的内容作为健全性检查,这会导致程序挂起。(没什么大不了的,可以修复)

突出显示的问题是最难修复的,我希望很快能修复它。(尽可能使用 Lua 刷新,当不可能时,向文件写入任意 4096 字节以强制其刷新)

目前,TeX live 也许效果会更好?(我没有测试)

顺便说一句,您似乎没有使用最新版本的软件包。升级到最新版本 0.1.0(可在 CTAN 上获得)。

相关内容