删除了 MacPorts,现在 Python 已损坏

2023-12-31

我已经从我的 Mac (10.7.5) 中删除了 MacPorts,现在 Python 似乎已损坏。我正在尝试运行 scrapy,最后出现以下错误:

ImportError: dlopen(/Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so, 2): Symbol not found: _exsltDateXpathCtxtRegister
  Referenced from: /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so
  Expected in: /usr/lib/libexslt.0.dylib
 in /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so

当我运行 python 并尝试导入该库时,出现与以下相同的错误:

$ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 14:13:39) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from lxml import etree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so, 2): Symbol not found: _xsltDocDefaultLoader
  Referenced from: /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so
  Expected in: flat namespace
 in /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so

现在我该如何清理这个烂摊子呢?


假设这是系统Python,并且你安装了lxml通过进入它pip,并且 10.7.5 附带的 libxml2 版本对您来说已经足够了(我认为他们开始在 10.7 中发布一些最新版本 - 就像 2.7.x 一样 - 但我不确定),它应该很简单作为:

sudo pip uninstall lxml
sudo pip install lxml

这里的问题是lxml是针对 MacPorts 构建的libxml2/libxslt2,而不是针对您的系统版本。理论上,可以通过以下方式重新指向依赖关系:install_name_tool,但这更有可能惨败——或者,如果你真的很不幸,看起来可以工作,但当你真正需要它时却崩溃了……只需重建lxml应该解决问题。如果你用过pip,就像卸载/重新安装一样简单。

如果你没有使用过pip,重做手册sudo python setup.py install从 tarball 的干净副本,或重新执行sudo easy_install lxml,或者做一个sudo pip install lxml在你已经拥有的之上,将会probably工作,但这并不能保证。

如果我对狮子的看法是错的libxml2,请在评论中说明,我将为您提供获取它的选项(无需重新安装 MacPorts)。

如果您想确定已经清理了所有内容,您可以随时将系统站点包恢复到默认状态,只需执行以下操作:

sudo rm -rf /Library/Python/2.7/site-packages/*
rm -rf ~/Library/Python/2.7/site-packages/*

然后,当然,您必须重新安装您安装的任何内容。 (如果你没有使用pip上次,从sudo easy_install pip然后使用pip对于其他一切......)您只需通过执行以下操作就可以很好地了解您所安装的内容ls在这些相同的目录中,但这不一定会告诉你how你安装了一切。 (例如,我安装了几个软件包pip install git+https://some.site/some/repo,或者从二进制安装程序,或者在一种情况下我完全不知道......)所以,如果你没有其他选择,请考虑这是核选项 - 不是第一手段,但比重新安装 OS X 的热核选项更好。

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

删除了 MacPorts,现在 Python 已损坏 的相关文章

随机推荐

  • Android Studio 2.3.3 首次运行时卡住

    我下载了安卓工作室2 3 3 https developer android com studio index html for Linux并将内容解压到 usr local then cd android studio bin 编辑了文件
  • 当我从 MainLayout 停止代码时,防止代码在我的页面上运行

    我有一个带有 MainLayout 的 Blazor PWA 应用程序和一堆页面 每当用户未登录时 我想将他们重定向到登录屏幕 如果我可以将它们从 MainLayout 重定向到登录屏幕 我已经知道用户尚未登录 那就太好了 我只是检查 co
  • 房间失效跟踪器初始化两次

    我有一个水平回收器视图 其中包含自定义项目 每个项目都可以保留当前项目在回收器视图中的位置 我想在使用拖放移动项目时更新项目位置 但是 当水平视图中的项目超过三个时 数据将被删除 请帮助我 源代码 https github com parm
  • 使用 Parse 和 PubNub 的 Android 聊天应用程序指南

    我正在尝试创建一个简单的 Android 聊天应用程序 用户可以在其中注册并拥有好友列表来开始对话 我打算使用Parse https parse com 对于数据库后端和PubNub http www pubnub com 对于实际的聊天频
  • 如何使用 AWS Amplify 和 Next.js 创建生产环境变量

    我有一个 API 密钥 需要它来访问 API 端点 在我的 Next js 应用程序中 我将此密钥存储在 env local像这样 API KEY qwerty123 我在我的getStaticProps与 process env 一起使用
  • Gcm电话注册错误

    我正在尝试设置一个应用程序来与 gcm 一起使用 但每次我收到phone registration error 错误 根据 Gcm 文档 此错误意味着 Incorrect phone registration with Google Thi
  • 如何将变量传递给使用 gcc 编译的 intel 格式内联 asm 代码

    我想向您寻求一些帮助 我有一个包含大量 C 源代码的项目 大多数是用gcc编译的 但也有一些是用Intel编译器编译的 后面的代码在微软有很多内联asm代码MASM格式 我想用 gcc 编译整个项目并修改尽可能少的代码 所以我编写了一个 p
  • 无法解析新 Android Studio 项目上的符号 GooglePlayServicesClient

    我刚刚安装了 Android Studio 1 1 0 并创建了一个新项目 我使用包括 Google 登录在内的登录活动创建了它 项目一打开 我就看到很多错误PlusBaseActivity java 这些似乎源于这样一个事实 com go
  • iOS7:UITapGestureRecognizer 重用问题

    我设置了三个按钮 每个按钮都标记为 1 3 我的 UITapGestureRecognizer 仅工作一次 并且仅适用于第一个 UIButton 无法选择其他两个选项 代码 void viewDidLoad super viewDidLoa
  • 从另一个列表中获取项目的边界

    我有一个清单 就像 tlist 0 0 0 07 0 13 0 15 0 2 0 22 which is sorted 我还有另一个清单 newlist 0 0 0 04 0 08 0 12 0 16 0 2 numbers with a
  • 如何使用加密密码连接到 PostgreSQL 服务器

    在通常的情况下 连接字符串包含纯文本的密码 但这可以被Wireshark捕获 所以我想在连接字符串中使用加密的密码 我从 Postgres 文档中找到了以下摘录 通过网络加密密码MD5认证方式 在将密码发送到客户端之前 在客户端对密码进行双
  • c - 返回状态/值的适当范围

    最近在看一本关于linux编程的书时 得到这样的信息 exit 的 status 参数定义了进程的终止状态 当该进程的父进程调用 wait 时 该状态可用 尽管定义为 int 但实际上只有状态的底部 8 位可供父级使用 并且只有0 127建
  • DelayedJob 错误:已经有一个或多个程序实例正在运行

    一些背景故事 昨晚 当delayed job工作人员正在处理图像处理作业时 我的服务器磁盘空间不足 当我尝试阻止工作人员时 我得到的答复是 已终止 RAILS ENV production script delayed job stop T
  • 如何突出显示 UIButton 子类?

    我有一个子类UIButton我覆盖的地方drawRect用于自定义外观的按钮 但现在单元格不突出显示 我怎样才能解决这个问题 我已经为按下单元格时的另一个自定义绘制矩形准备好了代码 void drawRect CGRect rect Gen
  • 为什么 scala 不推断继承特征的类型成员?

    我有一组类型 每个类型都有自己的类型成员 sealed trait FieldType type Data def parse in String Option Data object Name extends FieldType type
  • Alpha/透明度和 MTKView?

    我有一个 Metal 片段着色器 它返回一些带有 alpha 通道的透明颜色 我想在 MTKView 下显示一个 UIView 但我得到的唯一背景结果是黑色和 错误噪声 MTL渲染管道描述符 pipelineStateDescriptor
  • Paramiko 相当于管道控制和输入/输出管道

    我需要一种基于 paramiko 的轻量级文件传输方法SSH2 http en wikipedia org wiki SSH2服务器 dropbear http matt ucc asn au dropbear dropbear html
  • 在java中解析CSV

    我遇到了这种奇怪的情况 我必须水平阅读 所以我得到一个 csv 文件 其中包含水平格式的数据 就像下面这样 CompanyName RunDate 10 27 2010 11 12 2010 11 27 2010 12 13 2010 12
  • 斐波那契在 Python 中可以工作,但在 Java 中却失败

    我有这个代码用于计算fibonacci数在python 它有效并给出了预期的结果 但当我把同样的内容翻译成Java 它失败 知道这里出了什么问题吗 In python def fib3 n a b 0 1 while n gt 0 a b
  • 删除了 MacPorts,现在 Python 已损坏

    我已经从我的 Mac 10 7 5 中删除了 MacPorts 现在 Python 似乎已损坏 我正在尝试运行 scrapy 最后出现以下错误 ImportError dlopen Library Python 2 7 site packa