未解决的导入:模型

Posted

技术标签:

【中文标题】未解决的导入:模型【英文标题】:Unresolved import: models 【发布时间】:2011-02-28 07:29:17 【问题描述】:

我正在按照本指南使用 python/django/eclipse/pydev 做我的第一个项目

http://docs.djangoproject.com/en/dev/intro/tutorial01/

我唯一的补充是使用 Eclipse/pydev。

我收到许多与“未解决的导入”相关的错误。我可以使用“删除错误标记”来删除错误,并且我的网站运行良好(我可以浏览它),但我想彻底摆脱这个问题,因为在我删除它们后会再次弹出错误。

有什么想法吗?

编辑

使用 Ubuntu 9.1

【问题讨论】:

【参考方案1】:

检查你的pythonpath。你需要包含django的父目录,通常是Lib/site-packages。

【讨论】:

谢谢亚当,我已经添加到 PYTHONPATH /usr/lib/pymodules/python2.6/django/ (libs 似乎在那里)但没有运气:-( @Timmy 是 /usr/lib/modules/python2.6/ 在 PYTHONPATH 中吗? 我没有那个路径。我有 /usr/lib/python2.6 将 /usr/lib/pymodules/python2.6 添加到您的 PYTHONPATH 中,您希望包含 django 的目录在其中 亚当的最新评论解决了我的问题。您的 PYTHONPATH 中必须同时包含 site-packages 和 site-packages/django。 (我在站点包中有 django)【参考方案2】:

我在 Mac OS X 上,但我所要做的就是添加:

/Library/Python/2.6/site-packages

到我的系统 PYTHONPATH(位于:Preferences > Pydev > Interpreter - Python)

Ubuntu 10.04 的等价物是:

/usr/lib/pymodules/python2.6

我猜 Ubuntu 9.x 的等价物可能是:

/usr/lib/python2.6/site-packages

如果不是并且您已经厌倦了寻找,只需升级到 Ubuntu 10.04 就可以了。

【讨论】:

太棒了!我只是帮助自己!我正要赞成这个答案,却意识到我不能,因为它是我自己的。 :)【参考方案3】:

我能够摆脱执行此 cmd 的导入错误

sudo ln -s /usr/lib/pymodules/ /usr/lib/python2.6/pymodules

我很幸运,测试了不同的东西我可以解决它,但我不确定为什么我必须这样做以及如何避免这样做。

【讨论】:

【参考方案4】:

当 Eclipse/Pydev 不知道您要导入什么时,会出现“未解析的导入”。在 Eclipse 首选项 > Interpreter Python 中检查您的 Pydev 设置。您的 site-packages 文件夹和您要导入的内容应该在 Pythonpath 中。

另见http://pydev.org/manual_101_interpreter.html

【讨论】:

【参考方案5】:

即使将 Lib/site-packages 添加到 PYTHONPATH,当使用通过 easy_install 安装的 egg 包中的模块时,也可能会出现此问题。这些问题可能实际上取决于 easy_install 版本,默认情况下它们不会直接安装在 Lib/site-packages 中,而是安装在包含完整包名称并具有 .egg 后缀的文件夹下。例如:Lib/site-packages/django_celery-3.0.23-py2.7.egg

来自上述安装包的每个模块都需要在 PYTHONPATH 中单独输入。如果在系统上安装了 PyDev 之后安装了软件包,则需要在 PyDev 中更新系统 PYTHONPATH。这是通过转到 Window -> Preferences -> PyDev -> Select your intepreter -> in the python interpreters panel remove and re-add your current python interpreter (通常,这应该是系统中的 python 可执行文件) 自动完成的。然后 PyDev 重新启动(文件 -> 重新启动)应该可以解决“未解决的导入”错误。

【讨论】:

【参考方案6】:

如果您遇到未使用导入的问题,那么我必须说使用 Eclipse 作为 IDE,因为它提供了通过按 ctr+shift+O 键删除未使用导入的功能。或者在 Eclipse 中也有可用的插件,当您保存代码时它会自动执行相同的操作。您可以从 eclipse 插件站点轻松免费地获取该插件。

【讨论】:

【参考方案7】:

在我的情况下,模块依赖于 setuptools-14.3.1 ,这导致了所有这些问题。安装 setuptools-14.3.1 后,其余模块自动解析。

【讨论】:

感谢@Shakti,经过 1 周的不幸研究,这解决了问题 这解决了 unresolved reference PyCharm CE 和 PyCharm Pro 中模块的问题。更新setuptools 被证明是成功的。希望这能帮助更多有此问题的用户。【参考方案8】:

在 Eclipse 中使用 PyDEV 时,我遇到了一个导入错误。

我是这样导入的

from xyz_module import abc

所以我在 Eclipse 中单击“Ctl + 1”和“选择未解决的导入错误”,它创建了一个类 python文件中的文件。

原来我创建了一个名为“xyz_module”的应用程序和一个“xyz_module.py”文件(同名),这导致了导入错误。我将 python 文件更改为新名称,这解决了错误。

【讨论】:

是的。我将导致冲突的文件命名为 nltk.py。很好的答案。【参考方案9】:

我遇到了同样的错误,但没有一个答案对我有用,因为 Window -> Preferences -> PyDev -> Python 下没有 PYTHONPATH 选项。

相反,我在菜单中添加了 PYTHONPATH 设置:

项目 -> PyDev-PYTHONPATH -> 外部库 -> 添加源文件夹

我添加了类似站点包的路径

/home/Documents/hcx/venv/lib/python3.5/site-packages

现在 PyDev 不再抱怨了。

【讨论】:

以上是关于未解决的导入:模型的主要内容,如果未能解决你的问题,请参考以下文章

我的渲染技术进阶之旅解决显示3D模型时因为使用stb_image库加载纹理时未翻转y轴导致模型纹理映射出错的问题

Pydev 说,“未解决的导入”错误

我的渲染技术进阶之旅解决显示3D模型时因为使用stb_image库或者opencv库加载纹理时未翻转y轴导致模型纹理映射出错的问题

在 Eclipse 上导入的 Makefile 项目:未列出的源和未解决的包含项

如何清除未解决的导入'cv2'错误?

无法解析模块“反应”的路径。 (导入/未解决)