当前位置: 首页 > 知识库问答 >
问题:

尝试运行Python脚本时出现“ImportError:没有名为”的模块

郎弘壮
2023-03-14

我正在尝试运行一个脚本,其中包括一个python脚本。我得到一个警告:没有名为…,的模块。。。,但是,如果我启动ipython并通过解释器以相同的方式导入相同的模块,则该模块将被接受。

发生了什么事,我该怎么解决?我试图理解python如何使用PYTHONPATH,但我完全困惑。任何帮助将不胜感激。

共有3个答案

齐冥夜
2023-03-14

确保他们都使用相同的解释器。这在Ubuntu上发生在我身上:

$ ipython3 -c 'import sys; print(sys.version)'
3.4.2 (default, Jun 19 2015, 11:34:49) \n[GCC 4.9.1]

$ python3 -c 'import sys; print(sys.version)'
3.3.0 (default, Nov 27 2012, 12:11:06) \n[GCC 4.6.3]

sys。两名口译员之间的路径不同。为了修复它,我删除了Python 3.3。

柴翰藻
2023-03-14

只需在显示错误的文件夹下创建一个名为__init__. py的空python文件,同时运行python项目。

松阳泽
2023-03-14

这个问题是由于命令行IPython解释器使用当前路径的方式与单独的进程(无论是IPython笔记本、外部进程等)的方式不同而产生的。IPython将查找要导入的模块,这些模块不仅可以在您的sys.path中找到,还可以在您当前的工作目录中找到。从命令行启动解释器时,当前操作所在的目录与启动ipython时所在的目录相同。如果你跑了

import os
os.getcwd() 

你会发现这是真的。

然而,假设你使用的是ipython笔记本,运行os.getcwd(),你当前的工作目录是你告诉笔记本在ipython_notebook_config.py文件中操作的文件夹(通常使用c.NotebookManager.notebook_dir设置)。

解决方案是为python解释器提供路径到你的模块。最简单的解决方案是将该路径附加到sys.path列表中。在你的笔记本里,先试试:

import sys
sys.path.append('my/path/to/module/folder')

import module_of_interest

若这不起作用,那个么您就遇到了与导入路径无关的另一个问题,您应该提供有关问题的更多信息。

解决这个问题的更好(更持久)方法是设置PYTHONPATH,它为解释器提供了查找python包/模块的附加目录。将PYTHONPATH编辑或设置为全局变量取决于操作系统,这里将详细讨论Unix或Windows。

 类似资料:
  • 问题内容: 这里是我的问题:我运行的代码在此例。我在RaspberryPi上安装了Python 2.7和3,但是已经检查并再次检查,并且我正在2.7中运行代码。我已经在2.7(而不是3)下安装了Pmw 2.0.0,但是当我尝试运行时,出现“ ImportError:没有名为tkinter的模块”错误。我一直都在使用Tkinter,所以它通常可以正常工作,并且我进行了搜索以确认我肯定是在叫“ Tki

  • 问题内容: 我点“ opencc” 当我外壳下面的代码 表明 但“ ____init__.py”和“ version.py”位于同一目录C:\ Python34 \ lib \ site-packages \ opencc 文件:version.py 当我改变 进入 OpenCC的,它的作品 我知道这没什么大不了,但我只想知道为什么init.py无法将模块version.py导入同一目录中, 问题

  • 问题内容: 我在Windows 7上使用python 3.4。为了打开一个doc文件,我正在使用此代码 我不确定为什么每次都会弹出此错误 ImportError:没有名为win32api的模块 虽然我已经从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32安装了pywin32, 并且我还检查了导入路径…我也尝试过重新安装pywin32,但这并没有消

  • 我在Python 3中安装软件包遇到了麻烦。 我一直使用安装软件包。但现在,当我尝试安装ansicolors软件包时,我得到了: 我不知道该怎么做,因为我没有安装setupool在过去。尽管如此,我还是能够安装许多包与没有setupols。为什么我现在应该安装工具? 我甚至不能安装setuptools,因为我有python3.3,而setuptools不支持python3。 为什么我的instal

  • 问题内容: 我已经使用命令安装了redis,但是当我运行Python程序时收到此错误: 知道发生了什么问题还是我也应该安装其他软件包?我正在使用Ubuntu 13.04,并且具有Python 2.7。 问题答案: 要安装redis-py,只需: 或者(您确实应该使用点子): 或从来源: 入门 详细信息:https : //pypi.python.org/pypi/redis

  • 问题内容: 由于某种原因,我不能使用or模块。在python shell中运行以下命令后 要么 我得到这个错误 ModuleNotFoundError:没有名为“ Tkinter”的模块 要么 ModuleNotFoundError:没有名为“ tkinter”的模块 可能是什么原因,我们如何解决呢? 问题答案: 您可能需要使用以下一种(或类似的方式)安装它: 您也可以针对python 3.7提及