asciinema缺少文件:ImportError: 没有名为'termios'的模块
当你在运行 asciinema rec
的时候,asciinema.exe
这个文件只能在 C:\Python34\Scripts
这个文件夹里找到,而这个文件夹也是在 git bash 里唯一能用 pip
命令的地方。
$ asciinema.exe
Traceback (most recent call last):
File "c:\Python34\Scripts\asciinema-script.py", line 9, in <module>
load_entry_point('asciinema==0.9.8', 'console_scripts', 'asciinema')()
File "C:\Python34\lib\site-packages\pkg_resources.py", line 353, in load_entry
_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python34\lib\site-packages\pkg_resources.py", line 2302, in load_entr
y_point
return ep.load()
File "C:\Python34\lib\site-packages\pkg_resources.py", line 2029, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "C:\Python34\lib\site-packages\asciinema\__main__.py", line 4, in <module
>
from .commands.builder import get_command
File "C:\Python34\lib\site-packages\asciinema\commands\builder.py", line 4, in
<module>
from .record import RecordCommand
File "C:\Python34\lib\site-packages\asciinema\commands\record.py", line 4, in
<module>
from asciinema.recorder import Recorder
File "C:\Python34\lib\site-packages\asciinema\recorder.py", line 5, in <module
>
from .pty_recorder import PtyRecorder
File "C:\Python34\lib\site-packages\asciinema\pty_recorder.py", line 2, in <mo
dule>
import pty
File "C:\Python34\lib\pty.py", line 11, in <module>
import tty
File "C:\Python34\lib\tty.py", line 5, in <module>
from termios import *
ImportError: No module named 'termios'
2 个回答
3
在Windows系统中,termios这个东西可以通过Cygwin来使用,因为它符合POSIX的标准。
Mingw32则不支持termios。
(我在使用urwid时也遇到了类似的问题,因为urwid也依赖于termios。)
1
Windows系统不被支持,因为它没有伪终端、select()
函数和其他一些类Unix的功能。即使安装Cygwin也没用,因为它同样不支持类Unix的伪终端。
来源: Windows不支持 在 GH-47 和 GH-150
另见: Windows中与sys/select.h和termios.h定义的功能相当的是什么
解决方法
- 你可以尝试使用
mattn/asciinema
的分支(windows
分支)。 - 在一个 Docker容器 中运行它。
- 在 Windows上的Ubuntu Bash终端 中安装
asciinema
。