Bin neu in Flask Entwicklung und benutze eine IDE wie Pycharm zum ersten Mal, also bitte verzeihen Sie die Ignoranz.Warum bezieht sich Pycharm immer noch auf die alten Verzeichnisse für mein Projekt
Also während ich mit einem Projekt herumspiele, an dem ich arbeite, um Flask zu verstehen, habe ich eine virtuelle Umgebung mit dem Namen venv erstellt. So ist der Baum von meinem Projekt etwas aussehen würde:
my_project_directory
Project_specific_directories_and_files
requirements.txt
venv
Um die virtuelle env zu aktivieren, benutzte ich Venv/bin/aktivieren und mein Projekt zu tun wäre, je nach Bedarf ausgeführt werden.
Ich stieß später auf virtualevnwrapper und entschied mich, das zu verwenden. Nachdem ich es installiert und eingerichtet hatte, wechselte ich zur virtualenvwrapper-Methode, mit virtuellen envs zu arbeiten, und löschte das velv-Verzeichnis vollständig aus meiner Projektstruktur. Die neue Projektstruktur nach dem Löschen von venv lautet:
my_project_directory
Project_specific_directories_and_files
requirements.txt
Alles funktioniert gut. Das Projekt läuft wie erwartet. Doch jetzt, nachdem das Venv Verzeichnis wurde entfernt, wenn ich mein Projekt in PyCharm öffnen, für meine Import-Anweisungen wie:
from flask import Flask, render_template, redirect, url_for, request, session, flash # , g
from flask_sqlalchemy import SQLAlchem
alle Pakete, die ich Import versuchen, wie Fehler in der PyCharm IDE unterstrichen wird. Ich öffnete die Python-Konsole, in PyCharm und versucht, den Fehler zu debuggen und es gibt den folgenden Fehler:
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
Jetzt dachte ich, dass offenbar PyCharm noch benutzt es Cache ist. Also habe ich versucht, den Cache ungültig zu machen und Pycharm neu zu starten, wie erklärt here, aber das Problem war immer noch da.
Jetzt habe ich 2 Fragen:
- Warum ist PyCharm auf diese Weise zu verhalten? Ich habe das venv-Verzeichnis komplett entfernt usw. Warum bezieht es sich immer noch auf den alten (venv) Standort?
- Wenn es wirklich nicht in der Lage ist, die Abhängigkeiten aufzulösen, wie genau läuft dann mein Projekt? Sollte es nicht die App brechen?