我通过 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 支持!
最有用的评论
我通过 pip 安装在 Windows cmd 中,但出现以下错误。 我认为关键问题是
No module named 'fcntl'
,我们可以用多平台操作系统支持库替换它。参考: