【问题标题】:Pycharm error Django is not importable in this environmentPycharm 错误 Django 在此环境中不可导入
【发布时间】:2015-02-06 10:37:59
【问题描述】:

我在 Pycharm 中遇到以下错误。

错误:Django 在此环境中不可导入

它曾经运行良好,但我将项目和 virtualenv 移动到其他目录并出现错误。这很奇怪,因为如果我运行项目而忽略了我得到的配置设置警告,那么工作正常。

问题是现在,Pycharm 没有找到项目的interperter。

Pycharm 正在运行的命令是:

/Users/plorenzo/../gestorSchools/venv/bin/python3.4 /Users/plorenzo/../gestorSchools/schoolsManager/manage.py runserver 8000

virtualenv 已激活。

我的 $PATH 是:

/Users/plorenzo/../gestorSchools/venv/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

还有我的 $PYTHONPATH:

/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4

我花了几天时间试图找到解决方案,但找不到。

【问题讨论】:

  • 我刚开始使用 pycharm,但是您是否更改了settings -> project interpreter -> Project Interpreter,以反映您的新解释器? (/Users/plorenzo/../gestorSchools/venv)
  • 是的,但它无法识别 virtualenv 中已安装的包。
  • 当您将解释器路径设置为“bin”上方的目录(实际的 virtualenv)时会发生什么?
  • 解释器路径已经在/Users/plorenzo/dev/trabajo/telefonica/gestorSchools/venv 问题是django和所有包应该在的外部库目录中什么都没有出现。

标签: python django pycharm


【解决方案1】:

我终于找到了错误。问题是 virtualenv 路径中的一个文件夹名称带有重音符号。

这是旧路径:

/Users/plorenzo/../telefónica/gestorSchools/venv

这是新的有效的:

/Users/plorenzo/../telefonica/gestorSchools/venv

【讨论】:

  • 有趣的事实:你得到了所有的赞成票,因为一个不属于你的问题,但很多人都有!
  • 如果您的母语是西班牙语,这个问题真的很难发现。
【解决方案2】:

我在 OS X 上遇到了同样的问题,为了解决它,我不得不为项目解释器使用绝对路径

/Users/myself/Projects/... 没问题 ~/Projects/... 不工作

【讨论】:

    【解决方案3】:

    我也有类似的问题...

    我去 PyCharm -> Preferences 并尝试将 Django 读入项目解释器包。 PyCharm 突然在 requirements.txt 文件中添加了所有内容。现在我可以毫无问题地运行项目了。

    【讨论】:

      【解决方案4】:

      在我的情况下,我必须转到设置(Alt+F7,或 Spanner/Cog 图标)并选择旁边安装了 Django 的 Python 解释器。

      如果尚未安装 Django,您应该可以在选择解释器后通过 +(加号)图标(未在下面显示)安装它。

      【讨论】:

        【解决方案5】:

        pycharm 设置中使用的项目解释器没有安装django 包。所以去

        setting->Project->project interpreter
        

        然后安装django

        它会起作用的:)

        【讨论】:

        • 在设置->项目->项目解释器中我看到了Django包,但再次安装它为我解决了问题
        【解决方案6】:

        就我而言,出现此错误时,我正在运行 Cygwin 版本的 Python。修复它只需将一些 cygwin 的 bin 路径添加到 Window 的 Path 变量中。

        运行“控制 sysdm.cpl” 转到“高级”选项卡 单击此选项卡底部的“环境变量”按钮 在“系统变量”下找到“路径” 添加到它 ;c:/cygwin/bin;c:/cygwin/sbin;c:/cygwin/usr/local/bin

        我没有包含/usr/bin,因为某些原因,在windows中查看时合并到了/bin目录中。

        【讨论】:

          【解决方案7】:

          好的,就我而言,解决方案是:

          1. 安装 django
          2. 使用@cbueche 建议删除~
          3. 切换到另一个项目的 venv 并为这个项目切换回我的 venv

          我在那里退出并重新加载了几次项目,所以这可能也是必要的。我喜欢 PyCharm,但开始一个新项目总是很痛苦。

          【讨论】:

          • 谢谢。只需重新启动 PyCharm 就为我解决了这个问题。
          【解决方案8】:

          正如大家所说,请检查您的口译员 是否正确配置。如果您在虚拟环境中创建项目,请确保您配置了正确的python解释器。python解释器(整体)和python解释器(仅用于单个项目使用virtualenv) 是不同的。

          如果您使用的是 PyCharm 转到 Setting->Project->project 解释器并选择正确的解释器 完成后,如果项目运行,则运行项目,全部设置。如果不检查编辑配置并再次检查解释器

          【讨论】:

            【解决方案9】:

            这似乎很明显,但请尝试退出然后重新启动 PyCharm 应用程序。当我遇到此问题时,即使项目解释器路径正确,我仍会继续收到“Django 在此环境中不可导入”错误。在我关闭并重新打开应用程序之前,没有任何效果。希望这可以节省一些时间。

            【讨论】:

            • 重启 Pycharm 是有道理的。刚刚对我有用的是卸载并重新安装 Django。
            【解决方案10】:

            还有一种情况,我的 virtualenv 确实安装了 Django,但 Pycharm 仍然会显示此错误。

            我最终发现在可用解释器列表中重复了相同的 virtualenv 路径。删除所有这些并重新添加修复它。

            复制发生在我从另一台机器复制 .idea 并从 Pycharm 重新创建 virtualenv 之后,尽管它已经被列为(损坏的)解释器。

            【讨论】:

            • 谢谢!这也是造成我问题的原因
            • 我不得不删除 .idea 文件夹,但没有看到相同的 virtualenv 路径,所以不知道为什么我一直得到这个。
            • 经过快速实验:从新创建的项目中打开解释器设置时,Pycharm 仍然建议我的其他项目中的 virtualenvs。所以我很想得出结论,“解释器”数据存储在更中心的地方。例如。在 linux 上,我在 ~/.PyCharm2019.1 中有东西。尽管这与我自己的回答有些矛盾:p
            • 刚刚让我省了很多麻烦,谢谢!
            • 谢谢!在我为新版本的python重新创建虚拟环境但名称与以前相同之后,正是我的问题。
            【解决方案11】:

            您必须为此编辑项目配置。 Environemt->环境变量设置变量DJANGO_SETTINGS_MODULE=project_name.settings

            【讨论】:

              【解决方案12】:

              我遇到了同样的问题,这是由于在项目中定义了多个项目解释器。就我而言,我有一个 python 2.7 和一个 python 3.7 解释器。通过删除 python 2.7 解释器修复了这个问题。

              1. 导航至Preferences > Project > Project Interpreter查看当前解释器

              2. 打开下拉菜单并选择Show All...

              3. 删除所有非主要口译员

              【讨论】:

                【解决方案13】:

                我遇到了同样的问题,我认为这里还没有说明解决方案。我必须转到设置>项目解释器,单击右侧的齿轮图标并选择解释器(这已经是正确的)。然后单击右侧的最后一个图标,即带有一些文件夹结构图标的图标。在那里,我必须将路径添加到我的 venv(Django 所在的位置)的站点包。最后我的测试运行没有问题。

                【讨论】:

                • 哇,我在这里尝试了上面的所有 15 条建议,但都没有成功,但这一条终于奏效了!
                【解决方案14】:

                对于选择了 安装了 Django 的 virtualenv/interpreter(但自从第一次选择之后它可能已经更改了 python 版本...),甚至重新安装了 Django >,仍然收到这条消息,慢慢变得疯狂:

                File > Invalidate Caches / Restart ...

                此外,保持可用解释器列表的清洁和正确总是有帮助的(在我的 linux 上,以前安装的 linux 的旧解释器不断弹出......哇),以及不在 virtualenv 名称中使用特殊字符(就像运维问题...see his answer)。

                【讨论】:

                • 帮我解决了,PyCharm 2019.3.1(专业版)Build #PY-193.5662.61,2019 年 12 月 18 日构建
                • 也为我工作,因为误报错误让我发疯。 PyCharm 2016.3.2 Build #PY-163.10154.50, built on December 28, 2016
                • 在使用 docker 映像时为我工作。 PyCharm 2020.3.3 (Professional Edition) Build #PY-203.7148.72
                • 看起来这个问题在 2021 年仍然存在...
                【解决方案15】:

                即使在遵循其他答案中提出的建议(例如删除 .idea 文件夹、从设置->项目解释器重新安装包)后,我仍然收到此错误。

                最后,我把 venv 从项目文件夹中取出,在项目文件夹旁边创建了一个 venev,并从项目文件夹中删除了 .idea 文件夹。

                然后我打开项目,选择解释器作为新创建的venv

                【讨论】:

                  【解决方案16】:

                  步骤:

                   1. Choose File Option
                   2. Setting
                   3. Scroll to Project -> Select Python Interpreter
                   4. Project Interpreter
                   5. Click on Setting icon and press Add environment
                   6. Create a Virtual Environment
                  

                  【讨论】:

                    【解决方案17】:

                    我有同样的错误。尝试命名不带“_”的路径(和项目):

                    ../my_project/venv -> ../my-project/venv
                    

                    【讨论】:

                      【解决方案18】:

                      1 每个人都建议您在 PyCharm 中检查您的 venv 文件夹(虚拟环境)的解释器路径: Settings (Ctrl+Alt+S) --> Project: project_name --> Python Interpreter --> gear_icon (settings) --> Show All... --> 按 '+' 添加解释器到 venv 的正确路径 - -> 申请 --> 好的

                      2 我还建议您在完成之前尝试我的 kung-foo: 相同的步骤...->全部显示...->按“文件夹树图标”(显示所选解释器的路径)->按“+”添加新路径->选择此文件夹的路径'../venv/Lib/site-packages'

                      这样做,你会格外快乐!

                      【讨论】:

                      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
                      猜你喜欢
                      • 2013-11-22
                      • 2017-12-07
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2016-04-06
                      • 1970-01-01
                      • 2019-05-13
                      • 2016-05-02
                      相关资源
                      最近更新 更多