Python的readline模块在Windows上不可用吗?

21

我已经两年多没有用PYTHON了。现在我想重新开始使用,几年前我记得在Windows上有命令和变量自动完成的功能。当时我们被困在2.6版本,因为我们有依赖项。

今天,我尝试导入readline。我从pip得到了以下消息。

C:\Users\Joe>pip3 install readline 正在收集 readline 使用缓存 https://files.pythonhosted.org/packages/f4/01/2cf081af8d880b44939a5f1b446551a7f8d59eae414277fd0c303757ff1b/readline-6.2.4.1.tar.gz 完整输出:错误:此模块不适用于Windows

我的版本是:

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. import readline Traceback (most recent call last): File "", line 1, in ModuleNotFoundError: No module named 'readline'

3个回答

41

我最近在Windows 10上遇到了同样的问题。 readline 在 Windows 上不可用,但是有一个名为pyreadline3(一个已被放弃的pyreadline软件包的续作)专门针对 Windows,你可以尝试使用它。

尝试安装pyreadline3并将其用于代替readline

  • pip: pip install pyreadline3python -m pip install pyreadline
  • mambamamba install -c conda-forge pyreadline3
  • condaconda install -c conda-forge pyreadline3

然后在你的Python文件中执行以下操作:

from pyreadline3 import Readline
readline = Readline()

这样,您就可以像在Linux系统中一样,在Windows中使用readline了。


我无法在cmd2中使其正常工作。 我使用cygwin和pycharm。 我应该检查什么吗? - tristram
没有错误,我看不到提示符(在Windows上使用cmd和在Linux上使用cmd2时可以看到),<tab><tab>也没有自动完成,但在Linux上可以正常工作。 - tristram
2
@Lefteris Xris,你是救星!确认在Windows 10 cmd.exe python 3.8.3上运行得非常好。我甚至不需要这两行代码:from pyreadline import Readline; readline = Readline() - bogec
以下新软件包将被安装: pyreadline3 conda-forge/win-64::pyreadline3-3.4.1-py39hcbf5309_2 None python_abi conda-forge/win-64::python_abi-3.9-2_cp39 None准备事务:完成 验证事务:失败EnvironmentNotWritableError:当前用户没有对目标环境的写入权限。 环境位置:c:\QGB\Anaconda3注意:您可能需要重新启动内核以使用更新的软件包。ModuleNotFoundError: No module named 'pyreadline3' - CS QGB

2

打开CMD终端并输入

pip install pyreadline

几秒钟后,安装完成并会显示消息 "Successfully installed pyreadline-"

然后回到PYSPARK终端再次输入import readline,现在将不会出现任何错误

谢谢


1

在发现这个问题后,我试了一下pyreadline,但是遇到了问题,最终发现它已经不再受支持。

对我而言可行的方法是安装pyreadline3:

pip install pyreadline3 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接