首页 > 解决方案 > 在 PyCharm 中重命名我的 django 项目后,如何修复“错误的解释器”错误?

问题描述

我最近在 Pycharm 中重命名了我的 Django 项目,现在我遇到了许多与 Python 相关的错误。当我尝试运行时,从我的 MAC 终端:

$ django-admin startproject 移动项目

或者

$点安装django

我得到:

-bash:/usr/local/bin/pip:/usr/local/opt/python/bin/python3.7:错误的解释器:没有这样的文件或目录

在 Pycharm 中,当我打开大部分 Django 项目时,我现在得到:

为项目选择了无效的 python 解释器

或者当我尝试安装 pip 时:

$ sudo easy_install pip

我得到:

sudo:无法执行 /usr/local/bin/easy_install:没有这样的文件或目录

以下是我项目的原始结构:

---project
       ---project
             ---app 
                   ---models.py
                   ...etc
             ---project
                   ---settings.py
                      ...etc
             ---manage.py
       ---venv

要在 Pycharm 中重命名我的 Django 项目,我右键单击根文件夹“项目”并选择重构/重命名/重命名项目。对于其余的文件夹,我右键单击并选择了重构/重命名,我只得到了重命名目录,所以我选择了它。下面显示了我如何重命名我的项目文件夹。

---newproject
       ---newp
             ---newapp 
                   ---models.py
                   ...etc
             ---newp
                   ---settings.py
                      ...etc
             ---manage.py
       ---venv

这样做后,我有上面列出的所有错误。我认为选择“重命名项目”而不是“重命名目录”会搞砸。但是为什么我在尝试使用 django-admin startproject 启动一个新项目或告诉 pip 安装 django 时在 Pycharm 之外遇到问题?我觉得 Python 可执行文件在错误的目录中,但我不知道。请帮忙!

标签: pythondjangomacospycharm

解决方案


问题

不幸的是,PyCharm 在重命名项目/目录时不会更新包含 Python 解释器的 venv 路径,因此它找不到 Python 解释器。YouTrack 上也有这个问题。

解决方案

您必须手动更新虚拟环境的路径。为此,请使用Ctrl+ Alt+ S|打开解释器设置。项目 <项目名称> | Python 解释器 (请参阅 JetBrains 文档),单击设置 | 显示所有... 然后为您的应用程序选择标记为[invalid]的 venv并单击Edit。在创建的模式窗口中,您现在可以通过将以前的目录名称替换为新的目录名称来更新解释器路径,PyCharm 将再次像魅力一样工作(对不起爸爸的笑话)。

简单应用程序的演练

pythonProject给定一个包含 Python 解释器的 venv项目,pythonProject/venv如下所示:

pythonProject/
├── src
│   └── app.py
└── venv
    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── activate.ps1
    │   ├── activate_this.py
    │   ├── activate.xsh
    │   ├── pip
    │   ├── pip3
    │   ├── pip-3.9
    │   ├── pip3.9
    │   ├── python -> /usr/bin/python3.9
    │   ├── python3 -> python
    │   ├── python3.9 -> python
    │   ├── wheel
    │   ├── wheel3
    │   ├── wheel-3.9
    │   └── wheel3.9
    ├── lib
    │   └── python3.9
    └── pyvenv.cfg

Ctrl现在,当我们使用++ |AltS 检查 Python 解释器设置项目 pythonProject | Python Interpreter (参见 JetBrains Docs)我们可以看到解释器路径设置为path/to/project/pythonProject/venv/bin/python.

当您现在将目录(和项目)重命名为renamedProject使用 PyCharm 的Refactor | 重命名选项文件结构将如下所示:

renamedProject/
├── src
│   └── app.py
└── venv
    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── activate.ps1
    │   ├── activate_this.py
    │   ├── activate.xsh
    │   ├── pip
    │   ├── pip3
    │   ├── pip-3.9
    │   ├── pip3.9
    │   ├── python -> /usr/bin/python3.9
    │   ├── python3 -> python
    │   ├── python3.9 -> python
    │   ├── wheel
    │   ├── wheel3
    │   ├── wheel-3.9
    │   └── wheel3.9
    ├── lib
    │   └── python3.9
    └── pyvenv.cfg

再次检查 Python 解释器设置将显示解释器现在无效,这是因为路径仍然存在,path/to/project/pythonProject/venv/bin/python但当我们重命名目录时,该pythonProject目录不再存在,因此该路径实际上是无效的(参见上面的文件树)。

要解决此问题,请单击设置 | 在 Python 解释器设置中显示全部...(下拉菜单旁边的齿轮符号)。在创建的对话框窗口中,选择您[invalid] Python 3.9 (pythonProject)在本例中的 venv ie,然后单击Edit(列表顶部的笔符号)。弹出另一个窗口,您现在可以在其中更改解释器路径。在路径中替换pythonProjectrenamedProject并接受您的更改,您将看到 PyCharm 立即再次将 venv 识别为有效。


推荐阅读