【问题标题】:Pycharm is not recognizing django, even though it is installed correctly. Why?Pycharm 无法识别 django,即使它已正确安装。为什么?
【发布时间】:2015-09-18 16:59:20
【问题描述】:

我已经在 3.4 的本机虚拟环境下设置了我的项目,并且已经使用了一段时间并且运行良好。但是由于某种原因,我现在在通过 Pycharm 运行我的项目时遇到了问题。为了检查所有设置是否正确,我执行了以下操作:

>>> import sys
>>> sys.path
>>> import django

我可以确认PROJECT/lib/python3.4/site-packages 包含在路径中,并且Django 已安装在此路径中。

但是,当我尝试通过 Pycharm 运行项目时,我得到了ImportError: No module named 'django'。我在 Django 的 manage.py 中添加了以下内容以进行故障排除:

sys.stdout.write(', '.join(sys.path))

找不到site-packages 目录。接下来,我转到“设置 > 项目解释器”以确保选择了正确的解释器。它列出了虚拟环境下的 Python 3.4,并将 Django 作为第一个安装的包。

我的问题,到底是什么,Pycharm?虚拟环境显然设置正确。从 python 终端获取的路径是正确的,并且 Pycharm 本身可以在其项目解释器部分下识别来自虚拟环境的所有包。那么,为什么当我实际运行项目时,Pycharm 会愚蠢地决定忘记使用虚拟环境运行项目而不使用正确的 python 路径?这里有点沮丧。希望有任何建议。

【问题讨论】:

    标签: python django import virtualenv pycharm


    【解决方案1】:

    本地的 django 版本可能与保存到虚拟环境中的版本不同。为了解决这个问题,intellij 中的解释器必须指向保存在虚拟环境中的 python 文件。 为此,请执行以下操作:

    1. 进入 Pycharm 中的项目解释器设置。 (command + ',')
    2. 在 Project Interpretor 选项中,提供 python3 的路径,该路径位于项目所在的虚拟环境内的 bin 目录中。
    3. 应用这些更改应该会删除错误

    4. 在上图中,突出显示的文本显示了 python 二进制文件所在的位置。

    【讨论】:

      【解决方案2】:

      对我来说,PyCharm 的 project_creator 文件中的第 5 行似乎正在寻找“django”,但虚拟环境正在安装“Django”(大写 D)。

      我没有尝试找到文件并进行调整(如果可能的话),但我想我现在应该把我的 2 美分放在这里 :)

      【讨论】:

        【解决方案3】:

        对我来说,问题有点不同。 解释器配置得很好,但是我的 Pycharm 根目录不正确。

        我使用以下 Pycharm 项目结构:

        /.idea/
        /env/
        /django-project-name/app1/
        /django-project-name/app2/
        /django-project-name/django-project-name/settings.py
        /django-project-name/manage.py
        

        你有两种可能:

        1 - 你直接在 /django-project-name/ 中创建一个新的 django 项目(最简单的 - /.idea/ 从 / 移动到 /django-project-name/)

        2 - 定义一个 Sources forder

        你必须去 Pycharm Setting > Project: > Project Structure ;然后将您的项目目录标记为“Sources”(只需单击 django 项目文件夹,然后单击“顶部的 Sources”)。

        最后,重启 Pycharm。

        【讨论】:

          【解决方案4】:

          转到 首选项 -> 库和框架 -> Django 并将 PYTHONPATH 添加到 Environment variables,其值为:$PYTHONPATH:/

          为我工作。

          【讨论】:

            【解决方案5】:

            我遇到了类似的问题。 Pycharm 没有显示和 django 选项。 为了配置,我做了以下事情:

            • 进入编辑配置(运行/调试菜单)
            • 在脚本路径中提供您的 manage.py 位置
            • 在参数中提供'runserver'
            • 在 python 解释器中提供虚拟环境中的 python 位置

            现在您可以使用 pycharm 运行和调试 django 项目了。

            【讨论】:

            • 这对我有用 - 我无法让服务器使用“Django”配置,我不得不使用“Python”配置。
            【解决方案6】:

            如果您在系统中安装 Django 而不激活虚拟环境,那么只有 pycharm 会识别导入。因此,如果您已经在某个虚拟环境中安装了 Django,则从该环境中删除所有这些环境或 Django,然后不激活 venv 运行命令“pip install Django==version”。

            为什么需要删除已经安装了 Django 的所有 venv?

            如果你不这样做,然后运行“pip install Django”,那么它会显示它已经安装了。这就是为什么你必须删除所有 venv.

            在没有激活虚拟环境的情况下安装 Django 后,您可以创建新的虚拟环境并完成您的工作。

            这就是我解决此问题的方法!

            【讨论】:

              【解决方案7】:

              如果你使用的是虚拟环境,去

              文件>设置>项目:PycharmProjects>项目解释器

              对于当前项目,在选择框中选择您的 virtualenv 中的 Python 路径。 您的 python 的路径将类似于以下内容:

              ~/PycharmProjects/your-project-path/venv/bin/python
              

              【讨论】:

                【解决方案8】:

                刚刚遇到同样的问题,我去了外部库 -> 解释器 -> 站点包并“重新同步”了 forlder。 django 出现了。在我看来,pycharm 在我安装了一些包后并没有更新项目结构。

                【讨论】:

                  【解决方案9】:

                  PyCharm 控制 PYTHONPATH 本身,它忽略从父 shell 获得的任何内容(我想保持项目的行为确定性)。

                  查看配置项目解释器路径的文档: https://www.jetbrains.com/pycharm/help/installing-uninstalling-and-reloading-interpreter-paths.html

                  【讨论】:

                    【解决方案10】:

                    为了解决这个问题,我唯一能做的就是进入运行/调试配置并手动设置 PYTHONPATH 环境变量以包含安装所有内容的site-packages 目录。完成此操作后,一切正常。仍然不知道为什么这会出现在终端中,但当我为两者使用相同的 venv 时却没有在 Pycharm 中设置。为什么这似乎突然发生,对我来说也没有任何意义。很奇怪。

                    【讨论】:

                      【解决方案11】:

                      确保您的运行配置正确指向正确的虚拟环境。转到运行菜单 -> 编辑配置...然后选择您正在使用的 Django 服务器配置,并对其进行编辑。确保其 Python 解释器设置正确。

                      【讨论】:

                      • 正如我在描述中提到的那样,我做到了,而且确实如此。
                      • 我不是指设置-->项目解释器,而是运行-->编辑配置
                      猜你喜欢
                      • 2015-01-06
                      • 2015-09-22
                      • 2021-11-19
                      • 1970-01-01
                      • 2017-05-16
                      • 1970-01-01
                      • 2015-05-15
                      相关资源
                      最近更新 更多