更新spyder和python后导入错误

2023-12-26

-- 编辑 -conda list输出(前几行)

# packages in environment at C:\ANACONDA3:
#
# Name                    Version                   Build  Channel
_ipyw_jlab_nb_ext_conf    0.1.0            py39haa95532_0
alabaster                 0.7.12             pyhd3eb1b0_0
altair                    4.1.0                    pypi_0    pypi

--

我原来用的是spyder v4 and python v3.7,但某些软件需要将python更新到3.9。我删除了间谍(conda remove spyder),更新了Python(conda install python=3.9)并重新安装了spyder(conda install spyder=4.2)。启动间谍程序后,我遇到了依赖性问题,因此也更新了(conda update nbconvert)。一切开始都很好 - 我有正确的spyder和python版本。

以前工作时,我使用 pip 安装了很多软件包(pip install X)。这些包位于我的 anaconda 目录中(C:\ANACONDA3\Lib\site-packages)。更新之前没有任何问题,但现在我遇到导入错误 - 例如,我以前做过pip install primer3 (link https://libnano.github.io/primer3-py/quickstart.html),并已成功使用它,但现在我得到:

import primer3
Traceback (most recent call last):

  Cell In[3], line 1
    import primer3

  File C:\ANACONDA3\lib\site-packages\primer3\__init__.py:40
    from .bindings import (calcHairpin, calcHomodimer, calcHeterodimer,

  File C:\ANACONDA3\lib\site-packages\primer3\bindings.py:40
    from . import thermoanalysis

ImportError: cannot import name 'thermoanalysis' from partially initialized module 'primer3' (most likely due to a circular import) (C:\ANACONDA3\lib\site-packages\primer3\__init__.py)

我听说 pip 和 conda 不能很好地结合在一起,但只是在我使用 pip 一段时间之后 - 我非常业余。但是,看到它们安装到 anaconda 目录中,我假设我使用的是 conda pip 而不是独立的本地 pip,这应该没问题吗?

谁能告诉我问题是什么/如何解决它?虽然这是一次有趣的学习经历,但我现在有很多损坏的代码:(

干杯! 蒂姆


既然你有混合conda and pip在您的基础环境中安装的软件包conda install python=3.9命令可能会破坏你的一些pip安装的软件包。最好的想法可能是重新安装它们:

pip uninstall primer3-py
pip install primer3-py

就目前而言,对于任何pip安装包only (conda list包括通过 conda 或 pip 安装某些内容的信息),表明此更新后出现错误行为,您可以尝试相同的方法。请确保仅对 pip 包执行此操作。请注意,您的基地中的许多软件包都附带了 anaconda,并由 conda 管理。这些都应该是您的新 python 版本的正确版本。

当您有时间时,我会推荐以下清理方法:

  1. 卸载水蟒
  2. 重新安装
  3. 对于您的所有项目,创建并使用使用以下命令创建的虚拟环境conda

这使您能够在将来更有效地管理不同的依赖项。此外,如果环境无法修复,其他项目不会受到影响,您可以删除并重新创建。

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

更新spyder和python后导入错误 的相关文章

随机推荐