为什么 Pycharm 仍然引用我项目的旧目录

Why does Pycharm still refer to the old directories for my project

我是 Flask 开发的新手,也是第一次使用 IDE 之类的 Pycharm,所以请原谅我的无知。

因此,在玩一个我正在致力于理解 Flask 的项目时,我创建了一个名为 venv 的虚拟环境。所以我的项目树看起来像:

my_project_directory
     Project_specific_directories_and_files
     requirements.txt
     venv

为了激活虚拟环境,我过去常常做 venv/bin/activate,我的项目会根据需要 运行。

后来我遇到了 virtualevnwrapper 并决定使用它。安装并设置好之后,我转向了使用虚拟环境的 virtualenvwrapper 方式,并从我的项目结构中完全删除(删除)了 venv 目录。删除venv后的新项目结构如下:

my_project_directory
     Project_specific_directories_and_files
     requirements.txt

一切正常。项目 运行 符合预期。 但是,现在删除 venv 目录后,当我在 Pycharm 中打开我的项目时,我的导入语句如:

from flask import Flask, render_template, redirect, url_for, request, session, flash  # , g
from flask_sqlalchemy import SQLAlchem

我尝试导入的所有包都在 Pycharm IDE 中显示为错误并带有下划线。我在 Pycharm 中打开了 Python 控制台,试图调试错误,但它给出了以下错误:

Error:Cannot run program "/Users/my_user_name/Desktop/some_parent_directory/my_project_directory/venv/bin/python" (in directory "/Users/my_user_name/Desktop/some_parent_directory/my_project_directory"): error=2, No such file or directory

现在我认为 Pycharm 显然仍在使用它的缓存。因此,我尝试按照 here 的说明使缓存无效并重新启动 Pycharm,但问题仍然存在。

现在我有2个问题:

  1. 为什么 Pycharm 会这样?我完全删除了 venv 目录等等。为什么它仍然引用旧的 (venv) 位置?
  2. 如果真的解决不了依赖关系,那我的项目运行ning到底是怎么回事?它不应该破坏应用程序吗?

好的。现在经过进一步挖掘,我能够纠正 Pycharm 中标记的错误。我去了 Pycharm -> Preferences -> Project: my_project_directory -> Project Interpreter & 发现它 'for some reason' 仍然指向旧的 venv 目录。从 'Project Interpreter:' 部分的下拉列表中,我选择了由 virtualenvwrapper 创建的我的 virtualenv 的路径,并通过 Apply->Ok 保存了更改。这从 Pycharm 中的代码中删除了错误指示。虽然解决了,但 what/why 的谜团对我来说仍然是未解之谜。 – qre0ct 7 月 12 日 17:13

此外,我还通过转到 'Project Interpreter' 部分的 'more' 部分并使用底部的“-”从项目解释器列表中删除了 unused/deleted 解释器删除不需要的。