python - 在 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 可执行文件在错误的目录中,但我不知道。请帮忙!
解决方案
问题
不幸的是,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(列表顶部的笔符号)。弹出另一个窗口,您现在可以在其中更改解释器路径。在路径中替换pythonProject
为renamedProject
并接受您的更改,您将看到 PyCharm 立即再次将 venv 识别为有效。
推荐阅读
- python - cvNet.forward() 错误(-215:断言失败)inputs.size() == requiredOutputs in function 'cv::dnn::dnn4_v20200609::DataLayer::getMemoryShapes
- javascript - Django + 阿贾克斯。当我第一次单击按钮时,数据在数据库中提交了两次
- mysql - Laravel8 仅适用于 XAMPP 7.1.33
- python - 使用 Python (Pycharm) 在 mac 上连接到 MongoDB
- c - 返回最大值和中值的二叉搜索树函数
- javascript - 从 signIn 切换到 signUp 时重置错误段落
- javascript - React useEffect 无法更新函数变量
- html - 保持剪辑路径多边形的形状并添加孔效果
- amazon-web-services - 如何将配置传递给 AWS-CDK 堆栈中使用的 Web 应用程序
- angular - Keycloak Angular - 如何处理与 keycloak 的连接失败