【发布时间】:2018-08-04 13:13:42
【问题描述】:
我在工作中使用内置了 python 脚本的软件。唯一的缺点是它现在没有携带许多有用的模块。查看论坛和对软件的支持,知识库中有关于如何添加新模块的说明。在某些方面一切都很好,但是当我尝试安装 Pandas 时,我一直遇到一个失败的 Numpy 依赖项,即使 Numpy 实际上在那个 python 版本的站点包中。
我做了几次其他尝试,然后遇到了这行代码。
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
我将python 替换为该版本Python 的路径,安装成功。但是现在那个 Python 版本坏了。当我在软件中打开脚本编辑器并尝试运行任何代码时,我收到一条错误提示
Cannot initialize the script system: Error in line 1:PyEval_EvalFramesEx returned NULL without setting an error.
即使当我尝试在控制台中运行该版本的 Python 时,光标也只会向下移动一行而没有任何反应。我什至不能再打字了。
该软件的旧版本仍然可以正常工作,我相信这是由于它使用 Python 3.4 而这个新版本运行的是 Python 3.5。我什至尝试卸载并重新安装该软件以进行全新安装,但即使我在新位置重新安装,我仍然会遇到相同的错误。我担心它是特定于 Python 3.5 软件版本的系统范围内的东西。我安装了一个外部 Python 3.5,只是为了检查它运行良好。现在损坏的只是 Python 的软件版本。
【问题讨论】:
-
了解virtualenv.pypa.io/en/stable中的virtualenv,并使用它来隔离对libs和python版本有不同要求的应用程序。
-
@progmatico:我怀疑 OP 希望访问 嵌入 Python 的软件包中的更新包,此时 virtualenv 将无济于事。
--user开关确实有助于隔离已安装的软件包,这很有帮助。 -
这到底是什么软件包?也许有一些选项可以让您的附加软件包正常工作(与第一次修复安装不同的步骤)。
-
@MartijnPieters 感谢您的指点。我读错了,我认为 OP 通过在系统 Python 中安装更新的库来破坏 Python 应用程序。我现在明白该应用程序具有 Python 脚本。在这里帮不上忙。
标签: python pandas numpy pip python-3.5