python中导包错误,具体错误如下?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中导包错误,具体错误如下?相关的知识,希望对你有一定的参考价值。

from . import Models
ImportError: cannot import name 'Models' from '__main__' (D:/python/textline-segmentation-using-fcn-master/train.py)
我的Models是和当前文件是平行的,在Models下的FCN8.py中有main函数,我该如何导入Models下的FC8.py文件

在程序主模块(使用python命令执行的那个py文件)中不能使用相对导入,必须使用绝对导入。 参考技术A

    你的描述不清楚,不如上一张图说明文件的层次结构

    贴一下运行的命令

用 Anaconda 安装了一个包,无法在 Python 中导入

【中文标题】用 Anaconda 安装了一个包,无法在 Python 中导入【英文标题】:Installed a package with Anaconda, can't import in Python 【发布时间】:2017-09-15 02:00:10 【问题描述】:

原谅我,但我是 python 新手。我已经使用安装了一个包(theano) conda install theano,当我输入conda list时,包存在

但是,当我通过运行 python 进入 python 解释器并尝试使用 import theano 导入它时,我收到一个错误:“没有名为 theano 的模块”,当我列出所有 python 模块时,theano 没有不存在。

我错过了什么?

【问题讨论】:

这个问题经常出现,当你的 PATH 变量杂乱无章,python 没有启动 anaconda 的 python 解释器时 【参考方案1】:

可能是因为您在计算机中安装了多个 python 环境。 当您执行which python 时,您可能会在计算机中安装本机python。那是/usr/bin/python

您想使用安装 Anaconda 时附带的 Python。 只需将 Anaconda 路径添加到 $PATH 的开头即可。 (为此,您可能需要编辑您的 ~/.bashrc 文件(或您的 shell 的等效文件),然后编辑 source ~/.bashrc

下次你将运行pythonimport theano 你会成功。

【讨论】:

谢谢!像魅力一样工作 对我不起作用,我遇到了完全相同的问题。 我有同样的问题,但是当我运行 "which python" 我得到 "/anaconda3/bin/python" 所以这应该意味着我已经在使用我的 Anaconda python - 那为什么不能我进口? 我遇到了同样的问题,尽管我的路径设置正确并在我唯一的虚拟环境中完成了所有操作:在文件 t.py: import tensorflow 中; python t.py -> "ModuleNotFoundError: No module named 'tensorflow'" ;哪个 python -> /home/gpetty/miniconda3/bin/python ; conda install tensorflow -> # 所有请求的包都已安装 一些 conda 包需要额外的 python 包装器。例如 nco 和 pynco 包。这就是为什么有时 conda 非常具有误导性。【参考方案2】:

当我遇到这个问题时,我的 python 安装实际上缺少“站点包”路径引用。要解决/解决此问题,请执行以下操作。

    从 Anaconda 目录中搜索新安装的软件包并记下路径。 (例如 C:\Anaconda\site-packages) 在终端中运行以下命令:
        python -c "import site; print(site.getsitepackages())"

示例输出: ['C:\Anaconda3', 'C:\Anaconda3\lib\site-packages']

    如果列表中缺少第一步中记录的路径,那就是您的问题。快速解决方法是将新包移动到列出的站点包文件夹或将缺少的路径添加到 PYTHONPATH 环境变量中。

如果您有兴趣管理自己的“站点包”位置,请查看Python Doc,了解有关设置站点配置文件的详细信息。

【讨论】:

对我来说也是同样的情况。知道为什么它会指向基本站点包而不是 conda env 站点包吗? Vinay - 所以这似乎也是我的问题,但是 wtf,为什么会这样?显然我不明白 anaconda 是如何决定安排事情的......【参考方案3】:

您的系统上是否安装了其他 Python?您可以在终端中运行“which python”来确定将使用哪个 Python。

【讨论】:

【参考方案4】:

我遇到了这个问题,并意识到问题在于 ipythonjupyter-notebook 没有与 python 相同的 sys.path,以防万一对任何人有所帮助。

【讨论】:

这对我有帮助。值得检查 pythonipython 也使用相同的 python 版本【参考方案5】:

所以我也遇到了同样的问题,原来我已经将我自己的文件命名为相同的模块名(graphviz),它试图导入那个代替......我花了一段时间才弄清楚那个!

【讨论】:

【参考方案6】:

我有一个使用 conda 安装 keras_vggface 的基本环境(sudo pip install git+https://github.com/rcmalli/keras-vggface.git:礼貌:https://machinelearningmastery.com/how-to-perform-face-recognition-with-vggface2-convolutional-neural-network-in-keras/)。从基地启动 anaconda-navigator(发布 conda activate base),导入 keras_vggface 失败。

base 被停用时,在 python 命令行中,导入工作正常。 which python 显示 anaconda bin 目录中的那个。现在,我在base 时做了pip3 install keras_vggface

现在,我可以从 base 和 python 提示符中导入模块,也可以从通过 anaconda-navigator 从 base 启动的 jupyter notebook 导入模块。

注意:这不是关于如何完成的专家建议;请使用这种经验与一小撮盐。

【讨论】:

以上是关于python中导包错误,具体错误如下?的主要内容,如果未能解决你的问题,请参考以下文章

python导包出现的问题

Eclipse和MyEclipse常出现的错误总结

向Pycharm中导入第三方包 && 更改下载第三包镜像源

python导入包错误

用 Anaconda 安装了一个包,无法在 Python 中导入

未找到模块:错误:包路径。不是从包中导出的