我用pip安装破坏了嵌入式Python安装

我用pip安装破坏了嵌入式Python安装,python,pandas,numpy,pip,python-3.5,Python,Pandas,Numpy,Pip,Python 3.5,我在工作中使用内置python脚本的软件。唯一的缺点是它没有携带许多有用的模块。通过查看论坛和对软件的支持,知识库中有关于如何添加新模块的说明。在一些方面一切都很好,但在尝试安装Pandas时,我一直无法获得对Numpy的依赖,尽管Numpy实际上在该python版本的站点包中 我做了其他几次尝试,然后遇到了这行代码 python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose 我将p

我在工作中使用内置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时,光标也只是向下移动了一行,什么也没有发生。我甚至不能再打字了


旧版本的软件仍然可以正常工作,我相信这是因为它使用了Python3.4,而新版本运行的是Python3.5。我甚至尝试卸载并重新安装该软件以进行干净的安装,但仍然会出现相同的错误,即使我在新位置重新安装。我担心这是Python 3.5软件版本在系统范围内特有的东西。我安装了一个外部Python3.5,只是为了进行检查,它运行良好。只是Python的软件版本现在已经崩溃了

您已经安装了带有已编译组件的Python项目,这些组件已加载到Python二进制文件中。这些组件与软件包的嵌入式Python版本冲突(可能无法加载它们)

因为您使用了
--user
开关来安装这些软件包,所以仍然有恢复安装的方法。这些软件包都已安装到中,这意味着您可以手动再次删除它们

首先,您需要使用一个开关来运行Python,该开关禁止从该位置加载代码。您可以尝试使用(禁用
USER\u站点
选项)或(启用隔离模式,忽略环境变量和
USER\u站点
选项)执行此操作,以验证禁用这些选项实际上会给您一个工作的Python提示:

path/to/software/python -s   # or -I
工作时,您可以将
站点
模块作为脚本运行,以打印出
用户站点
目录的位置:

path/to/software/python -s -m site   # or -I -m site

查找
用户站点:
行,它应该以
站点包
结尾。然后,将该目录的内容移动到其他地方(作为备份保存)。然后再次尝试在不使用
-s
/
-I
开关的情况下运行Python。

了解中的virtualenv,并使用它来隔离对libs和Python版本有不同要求的应用。@progmatico:我怀疑OP想要访问嵌入Python的软件包中的更新包,此时virtualenv不会有帮助。
--user
开关确实有助于隔离安装的软件包,这很有帮助。这到底是什么软件包?也许有一些方法可以让你的附加软件包正常工作(这是第一次修复安装的一个单独步骤)。@MartijnPieters感谢你的指点。我读错了,我以为OP在系统Python中安装了更新的库,破坏了Python应用程序。我现在明白了,这个应用程序有Python脚本。没办法,你救了我!哈哈,我真的太感谢你了。我竭尽全力想改正我的错误。我对python和它是我的第一种脚本语言只有大约2年的时间。虽然我在这两年里走了很长一段路,但还有很多我不知道的。我会更加小心地尝试新事物。有人建议要么使用virtualenv,要么使用虚拟机。我不确定我的工作是否会购买虚拟机软件,但如果有任何关于测试软件包安装的其他建议或提示,它们不会被忽视。非常感谢。@Scolli03:虚拟机的安装也很简单:。如果软件不是GUI,而是针对服务器环境,考虑使用容器(特别是)来创建隔离的安装。不管是哪种方式,实验和撤销错误都会更容易。@Scolli03:对于Python外部软件包,a是很好的选择。