【问题标题】:PyDev Interactive Console for Eclipse , import <modulename> throws ImportErrorEclipse 的 PyDev 交互式控制台,导入 <modulename> 抛出 ImportError
【发布时间】:2015-07-06 03:35:51
【问题描述】:

我在Eclipse Luna 中创建了一个PythonProject。我正在尝试通过PyDev Interactive Console 运行python 模块,但是一个简单的import &lt;ModuleName&gt; 不起作用它会引发以下错误。

Traceback(最近一次调用最后一次):

文件“”,第 1 行,在

文件“C:\Users\SAMA0714\Downloads\eclipse\plugins\org.python.pydev_4.0.0.201504132356\pysrc\pydev_import_hook.py”,第 21 行,在 do_import 模块 = self._system_import(name, *args, **kwargs)

ImportError: No module named first

我已经通过

更改了控制台的工作目录
import os
os.chdir(<to_the_src_folder_of_my_project_where_I_put_my_python_modules)

但我仍然面临同样的错误。通常当我执行import statement 时,如果我输入模块名称的第一个字符,我会使用该名称来获取可用模块,但我看不到名称。 我研究了各种 stackoverflow 问题,但没有一个是合适的。任何帮助表示赞赏。 我也在 E​​clipse 控制台选项中尝试了running the console for the present editor option,但没有成功。 但它在Eclipse Kepler version. 上运行良好

更新 PyDev 交互式控制台

项目浏览器

这是我的工作系统,它是一个 64 位机器。我家里有一台 32 位机器,python 交互式控制台在它上面运行流畅。 在我的家用机器上,我在本地驱动器c 上有 python。在我的工作系统上,我已将它安装在我现在移动到 C 的文档文件夹中,但错误仍然存​​在。

【问题讨论】:

  • 您能否提供有关模块结构/名称的更多详细信息(您的 pydev 包资源管理器的屏幕截图可以很好地帮助诊断它——以及带有错误的实际交互会话)。
  • @FabioZadrozny 我已按照建议添加了控制台错误和项目资源管理器的屏幕截图

标签: python-2.7 pydev eclipse-luna


【解决方案1】:

Python 查找模块的位置在sys.path,也可以修改。打印时得到什么输出?

import sys
print sys.path

您可以尝试将您的路径添加到sys.path:

import sys
sys.path.append(<full_path_to_the_src_directory)

【讨论】:

  • 感谢您的解决方案已解决问题。每次都这样做很痛苦,每当我创建一个新项目时,如何动态添加到 sys 的路径,当我创建一个新项目时。每当我开始一个新会话时,对路径所做的更改都会丢失。我试过sys.path[6] = sys.path[6] + '"\\src\\",其中 src 是我的模块位置,sys.path[6] 是我的项目顶级文件夹
  • 是的,那里肯定发生了什么事。当你做print sys.path 时你会得到什么?我列表中的第一项是'',这就是从当前目录导入的原因。如果我删除该项目,它就不再这样做了。
  • sys.path 启动时的值是这样的:['C:\\Users\\SAMA0714\\Documents\\Eclipse_kepler\\plugins\\org.python.pydev_4.0.0.201504132356\ \pysrc', 'C:\\Python2764', 'C:\\Python2764\\DLLs', 'C:\\Python2764\\lib', 'C:\\Python2764\\lib\\lib-tk', 'C:\\Python2764\\lib\\site-packages', 'C:\\Users\\SAMA0714\\workspace_kepler\\FirstPythonProject', 'C:\\Python2764\\python27.zip', 'C:\ \Python2764\\lib\\plat-win']
  • 您可以在 Eclipse 的项目设置中的某处设置初始的sys.path。默认行为应该包括当前路径,因此 Eclipse 可能会以某种方式对其进行修改。
猜你喜欢
  • 1970-01-01
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 2012-06-23
  • 2023-03-30
  • 2013-12-22
  • 2016-12-27
  • 2014-04-24
相关资源
最近更新 更多