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