【问题标题】: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

【问题讨论】:

    标签: python django eclipse pydev


    【解决方案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 不再抱怨了。

            【讨论】:

              猜你喜欢
              • 2020-01-16
              • 1970-01-01
              • 2017-02-01
              • 2015-03-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-12-28
              相关资源
              最近更新 更多