OS X - 谁能解释为什么我在安装 ipython3 后在 .pythonrc.py 文件中遇到操作系统错误,或者给我一个比这更强大的解决方案?

2024-02-02

我使用 pip3 安装了 ipython3。

pip3 install ipython[all]

当我运行 python 时,我的 ~/.pythonrc.py 文件遇到错误(仅在 Python 3 上,不在 Python 2 上)。

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "/Users/Mike/.pythonrc.py", line 43, in <module>
    readline.read_history_file(history_path)
OSError: [Errno 22] Invalid argument

我在 stackoverflow 上找不到答案,但进行了一些挖掘并找到了解决方案。我不确定为什么现在这样有效,或者是否有更好的解决方案。

在 .pythonrc.py 文件中:

try:
   import readline
except ImportError:
   pass

history_path = os.path.expanduser('~/.pyhistory')
if os.path.isfile(history_path):
   readline.read_history_file(history_path)
atexit.register(lambda x=history_path: readline.write_history_file(x))

解决方案是导入 gnureadline :

try:
   import gnureadline as readline
except ImportError:
   pass

谁能告诉我是否有更强大的解决方案或者为什么会发生这种情况?


我刚刚找到答案:

import gnureadline as readline

根据链接:

用于 IPython OSX 的 gnureadline http://ipython.org/ipython-doc/2/install/install.html#readline

在 OSX 上,如果您使用 Apple 提供的内置 Python,则 Apple 发布时将缺少正确的 readline 实现 相反,一个名为 libedit 的库仅提供一些 readline 功能。虽然您可能会发现 libedit 足够了,但我们有 偶尔会报告它的错误以及一些使用 OS X 的开发人员 作为他们的主要环境,认为 libedit 是不可接受的 高效、定期使用 IPython。

因此,OS X 上的 IPython 依赖于 gnureadline 模块。我们将 如果您认为完成/历史问题是 IPython 的错误, 正在使用 libedit。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OS X - 谁能解释为什么我在安装 ipython3 后在 .pythonrc.py 文件中遇到操作系统错误,或者给我一个比这更强大的解决方案? 的相关文章

  • 如何从 Python 安全地清除 Gnome 中的两个剪贴板?

    Gnome 桌面有 2 个剪贴板 X org 保存每个选择 和旧版剪贴板 CTRL C 我正在编写一个简单的 python 脚本来清除两个剪贴板 最好是安全地清除 因为它可以在复制粘贴密码后完成 我在这里看到的代码是这样的 empty X
  • 如何将 QT6 深色主题与 PySide6 一起使用?

    简单的演示应用程序我正在尝试设置主题为深色 https doc qt io qtforpython overviews qtquickcontrols2 material html highlight material material s
  • 阻止 NSView 实例接收鼠标事件

    我在窗口中有一个 NSView 并且核心动画层已打开 我时常使用此视图来显示带有动画的图像 我需要整个视图作为后层 而不仅仅是图像 在这个我称为 AnimationBaseView 的视图后面是用户交互的其他视图 一切都很好 除了 Anim
  • python 语言环境奇怪的错误。这究竟是怎么回事?

    所以今天我升级到了 bazaar 2 0 2 我开始收到这条消息 顺便说一句 我在雪豹上 bzr warning unknown locale UTF 8 Could not determine what text encoding to
  • 检查对象数组中的多个属性匹配

    我有一个对象数组 它们都是相同的对象类型 并且它们有多个属性 有没有办法返回一个较小的对象数组 其中所有属性都与测试用例 字符串匹配 无论该属性类型是什么 使用列表理解all http docs python org 3 library f
  • 当日期改变时 NSNotification?

    WebKit 的 WebHistory API 按日期分隔其项目 因此 当日期发生变化时 我需要重新分配任何 昨天 和 或 早些时候 今天 或 明天 标签 有 NSNotification 吗 或者我必须依赖 NSTimer 还是 perf
  • 获取 Mac OS X 上的当前堆栈跟踪

    我正在尝试弄清楚如何在 Mac OS X 上的 C 应用程序中存储然后打印当前堆栈 主要问题似乎是在主可执行文件内给定地址时让 dladdr 返回正确的符号 我怀疑这个问题实际上是一个编译选项 但我不确定 我已经尝试过 Darwin Leo
  • 如何让程序在登录时自动启动?

    如何设置菜单栏应用程序在登录时自动启动 我希望这是默认的 我可以简单地通过在 info plist 中添加一个 bool 来做到这一点吗 此解决方案仅适用于非沙盒应用程序 LSSharedFile此解决方案中使用的功能仅适用于非沙盒应用程序
  • 通过 Odo 和 SQL Alchemy 将 CSV 转换为 Oracle

    我有这段代码可以将 CSV 发送到 Oracle 但它比 1 月份的糖蜜慢 我想使用 odo 但对于这种具体类型的情况 数据从 CSV 到 Oracle 文档很少 我没有和 Pandas 结婚 所以如果最好不要使用它 那对我来说也没关系 i
  • Pygame 让精灵按照给定的旋转行走

    很久以前我做了一个Scratch脚本 我想用Pygame将其转换为Python 有很多示例显示图像的旋转 但我想知道如何更改精灵的旋转以使其沿给定方向移动 而不更改图像 这是我的暂存代码 这是我的 Pygame 精灵类 class Star
  • 如何使用 python http.server 运行 CGI“hello world”

    我使用的是 Windows 7 和 Python 3 4 3 我想在浏览器中运行这个简单的 helloworld py 文件 print Content Type text html print print print print h2 H
  • Mac 上的 JavaFX WebView 字体问题

    有些网站显示乱码而不是正确的文本 它只发生在 Mac 上 For example with GMapsFX 可能与 OS X 10 11 或 10 12 有关 我用Java 1 8 0 121测试了它 此问题有任何修复或解决方法吗 就我而言
  • Django 序列化器与rest_framework 序列化器

    有什么区别Django serializers vs rest framework serializers 我制作了一个 Web 应用程序 我希望 API 成为项目创建的主应用程序的一部分 不为 API 功能创建单独的应用程序 我需要为 D
  • OSX 终端在启动时无法识别 ~/.bashrc 和 ~/.bash_profile

    OSX 识别我的 bashrc 和 bashprofile 的唯一方法是我在终端的首选项中指定启动时要定位的文件 他们没有按应有的方式工作有什么原因吗 这是我的 bashrc 的内部 s HOME rvm scripts rvm sourc
  • 尝试在 mac OS 中运行此命令“pipenv install requests”时出现错误

    我面临以下错误 Warning the environment variable LANG is not set We recommend setting this in profile or equivalent for proper e
  • 在python中合并两个json对象

    我正在 python 中合并两个 json 我正在做 import json json obj json dumps a 1 2 json obj1 json dumps a 3 4 json obj json obj1 print jso
  • iter(fp.readline, '') 中的行而不是 fp 中的行:

    我读了内置函数iter的例子在内置函数 Python 3 7 0 文档 https docs python org 3 library functions html iter with open mydata txt as fp for l
  • 从 Java 调用 Python 代码时出现问题(不使用 jython)

    我发现这是从 java 运行 使用 exec 方法 python 脚本的方法之一 我在 python 文件中有一个简单的打印语句 但是 我的程序在运行时什么也没做 它既不打印Python文件中编写的语句 也不抛出异常 程序什么都不做就终止了
  • .dylib动态链接库可以打包成可执行文件吗?

    是的 我知道 dylib 的全部意义在于它动态加载 但我正在尝试创建一个独立的包 我有一个从命令行构建的可执行文件 在 macOS Lion 上 如果重要的话 我将可执行文件交付给朋友 但他无法运行它 因为他没有安装库 他宁愿not安装库
  • 获取 TypeError:ord() 期望长度为 1 的字符串,但 int 发现错误 [重复]

    这个问题在这里已经有答案了 Code is from PyPDF2 import PdfFileReader with open HTTP Book pdf rb as file pdf PdfFileReader file pagedd

随机推荐