python 分段错误:11当尝试在conda环境中运行Spyder时

hmtdttj4  于 2023-01-24  发布在  Python
关注(0)|答案(1)|浏览(254)

我正在设置一个单独的工作环境。但是,每当我尝试运行spyder时,我收到以下错误:

/Users/user/anaconda3/envs/myenv/bin/pythonw: line 3: 84700 Segmentation fault: 11 /Users/user/anaconda3/envs/myenv/python.app/Contents/MacOS/python "$@"

我不知道这是什么意思。我使用的命令是:

conda create -n myenv python
conda activate myenv
conda config --add channels conda-forge
conda install -c conda-forge spyder
spyder

我安装了anaconda navigator,spyder在根环境下运行良好,每次运行它时我都会收到“link image 0 hasn 't been detected!”的语句。
我一直使用spyder和anaconda,以前从未遇到过这些问题

xdnvmnnf

xdnvmnnf1#

这个问题我已经处理了好几个星期,花了很多天试图修复它,在我尝试的无数次操作中,我终于让spyder成功地从它自己的conda环境中运行,而没有抛出你提到的分段错误。
在macOS 10.14.6上全新安装anaconda3后,我从命令行创建了一个conda环境,如图所示:
conda create -n myenv python
conda activate myenv

  • 评论:*

conda创建-n myenv Python

  • 注1:如果您在创建环境时列出了要安装的 "spyder",则无需将 "python" 作为软件包包括在内,除非您希望具有特定版本。例如,"python=2.7.9""python=3.10.*"。否则,python将在创建环境时自动添加。*

接下来,
conda配置--添加通道conda-forge
而不是设置conda配置使用conda-forge通道,也不是在安装spyder到你的conda环境中时将它作为一个通道,简单地安装spyder使用virgin(未修改的)默认通道配置,只需键入:
conda install spyder
现在,当您在活动环境中从命令行运行spyder时,它应该按预期打开。
如前所述,您可以在创建环境的过程中安装spyder:
conda create -n myenv spyder
然后,您可以激活环境来测试所有内容:
conda activate myenv
spyder

  • 注意2:官方的spyder documentation建议包含 * -c conda-forge * 频道,但我删除了这个条目,以避免分割错误。我怀疑尽管conda-forge的社区存储库保持最新的版本,但在创建新的本地环境时仍有冲突没有解决。*

此外,您可能会注意到,上述方法安装了spyder 5.3.3版和spyder-kernels 2.3.3版,这两个版本都不是最新的,您可以通过从命令行运行conda list,然后搜索相应的条目来检查这一点。
然而,如果你试图通过调用conda update spyder来更新spyder,系统会告诉你所有的软件包当前都已安装,这是因为virgin频道默认的是查看anaconda库。不是康达福吉我现在的建议是不是尝试在你的conda环境中更新spyder,因为它将更新其他软件包作为依赖项,这将导致破坏应用程序再一次。
如果你好奇的话,要根据我上面描述的过程获得最新版本的spyder,可以按如下方式设置频道:conda update spyder -c conda-forge。根据您的操作系统,这将安装spyder 5.4.1和spyder-kernels 2.4.1(截至2013年1月16日),但它也将删除和更新其他几个软件包,因此导致兼容性问题。

    • 更新日期:**

我的主要收获是从安装代码行中删除-c conda-forge,以防止使用 * conda * 时出现分段错误。其他一切都取决于用户。使用pip、brew或任何其他方法进行安装是可以自由选择的,但也可能会给已经沮丧的用户带来更多的麻烦。
如果您在创建环境时运行conda create -n myenv spyder,或者在创建环境后运行conda install spyder,pyqt和qtpy包会与spyder一起安装,因为它们是依赖项,并且不是明确需要的(除非指定特定版本)。如果您运行pip install spyder,pyqt5和qtpy包会被安装。(截至2013年1月16日)

    • 注意事项:**
  • (有所保留,因为如果你能按照指示去做,而且当事情出错时,你是唯一一个受你的选择影响的人,我支持你深思熟虑地进行实验和探索,如果你愿意的话)*

根据文档,使用pip在conda环境中安装软件包是为有经验的用户保留的,这一警告的一个重要原因是因为pip和conda不通信,所以如果用户不知道发生了什么,软件包的版本和依赖关系可能会变得不兼容,还应该指出,如果使用pip,通常应该在安装具有PIP的包之前安装所有期望的Conda包。问题通常在更新时出现,或者在pip之后用conda安装。当这变得必要时,一般的建议是重新开始,在新的环境中安装新的包以及更新的版本。

  • spyder开发人员不支持使用brew安装。这可以从spyder文档中引用。*

相关问题