2016-07-12 23 views
0

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:

  1. 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?
  2. 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?

Antwort

0

Ok. Nach einigem weiteren Graben konnte ich nun die Fehler in Pycharm behoben bekommen. Ich ging zu Pycharm -> Einstellungen -> Projekt: mein_projekt_verzeichnis -> Projekt Interpreter & festgestellt, dass es "aus irgendeinem Grund" immer noch auf das ältere venv Verzeichnis zeigte. Aus dem Drop-Down des 'Project Interpreter:' Abschnitts, wählte ich den Pfad zu meinem virtualenv erstellt von virtualenvwrapper & speicherte die Änderungen durch Apply-> OK. Das entfernte die Fehleranzeigen aus dem Code in Pycharm. Obwohl es gelöst ist, ist das Geheimnis, was/warum das geschah, für mich immer noch ungelöst. - qre0ct Jul 12 at 17:13

Außerdem habe ich auch die unbenutzten/gelöschten Interpreter aus der Liste der Projektdolmetscher entfernt, indem ich im Teil 'Project Interpreter' zum Abschnitt 'more' gegangen bin und '-' at benutzt habe die Unterseite, um die nicht benötigten zu entfernen.