Asciinema: 视窗

创建于 2020-02-17  ·  3评论  ·  资料来源: asciinema/asciinema

现在,在您关闭此问题之前,我确实了解您为什么不想支持 Windows 终端。 然而,来自 Windows 的新官方终端将获得适当的 PTY 支持。 所以在windows中实现这个应该是可能的。

最有用的评论

我通过 pip 安装在 Windows cmd 中,但出现以下错误。 我认为关键问题是No module named 'fcntl' ,我们可以用多平台操作系统支持库替换它。

D:\Downloads>pip install asciinema
Collecting asciinema
  Downloading https://files.pythonhosted.org/packages/a7/71/771c859795e02c71c187546f34f7535487b97425bc1dad1e5f6ad2651357/asciinema-2.0.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\setup.py", line 1, in <module>
        import asciinema
      File "C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\asciinema\__init__.py", line 15, in <module>
        import asciinema.pty as pty
      File "C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\asciinema\pty.py", line 3, in <module>          import fcntl
    ModuleNotFoundError: No module named 'fcntl'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\

D:\Downloads>

参考:

所有3条评论

我通过 pip 安装在 Windows cmd 中,但出现以下错误。 我认为关键问题是No module named 'fcntl' ,我们可以用多平台操作系统支持库替换它。

D:\Downloads>pip install asciinema
Collecting asciinema
  Downloading https://files.pythonhosted.org/packages/a7/71/771c859795e02c71c187546f34f7535487b97425bc1dad1e5f6ad2651357/asciinema-2.0.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\setup.py", line 1, in <module>
        import asciinema
      File "C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\asciinema\__init__.py", line 15, in <module>
        import asciinema.pty as pty
      File "C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\asciinema\pty.py", line 3, in <module>          import fcntl
    ModuleNotFoundError: No module named 'fcntl'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\LIUD~1.H\AppData\Local\Temp\pip-install-yb29pspy\asciinema\

D:\Downloads>

参考:

我认为目前 fcntl 是让 asciinema 在您提到的操作系统上运行的一个(唯一的?)障碍。

搜索 fcntl 我在源代码中找到了两个使用它的地方:

https://github.com/asciinema/asciinema/blob/c94e898ec14c35db294974d4c3370fb154eba298/asciinema/pty.py#L36 -L43

https://github.com/asciinema/asciinema/blob/c94e898ec14c35db294974d4c3370fb154eba298/asciinema/pty.py#L150 -L153

在第 36 行,它仅用于获取终端窗口大小,如果不可能,则使用 24x80 尺寸。 这个缓冲区大小在第 43 行设置。我认为这个操作应该由备用 PTY 支持并且可以很容易地替换。

更严重的部分在第 150 行。管道设置为 NonBlock 模式。 但是根据stackoverflow上的这篇文章,有一个解决方法: https :

也许有人愿意尝试?

我会喜欢Windows 支持!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ethanboxx picture ethanboxx  ·  6评论

Edo78 picture Edo78  ·  5评论

bashfulrobot picture bashfulrobot  ·  11评论

KurtPfeifle picture KurtPfeifle  ·  3评论

deeplook picture deeplook  ·  10评论