我在内置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的软件版本,现在已被破坏。
答案 0 :(得分:1)
您已经安装了Python项目,其中包含已加载到Python二进制文件中的已编译组件。这些组件与您的软件包的嵌入式Python版本(可能无法加载它们)相冲突。
因为您使用--user
开关来安装这些软件包,所以仍然有一种方法可以恢复您的安装。这些包都安装在site.USER_SITE
location中,这意味着您可以手动重新删除它们。
首先,您需要使用禁用从该位置加载代码的开关来运行Python。您可以尝试使用-s
switch(禁用USER_SITE
选项)或-I
switch(启用隔离模式,忽略环境变量和USER_SITE
选项)执行此操作,验证禁用这些选项实际上为您提供了一个可用的Python提示符:
path/to/software/python -s # or -I
当这种方法有效时,您可以将site
模块作为脚本运行,以打印出USER_SITE
目录所在的位置:
path/to/software/python -s -m site # or -I -m site
查找USER_SITE: <path>
行,它应以site-packages
结尾。然后,将该目录的内容移动到其他位置(作为备份保留)。然后再尝试在没有-s
/ -I
开关的情况下运行Python。