Ich benutze virtualenv, um ein neues Projekt einzurichten. Ich installierte eine Menge Dinge mit virtualenv wie unten aus dem Skript Ordner pip:Ich kann Flask-WTF TextField und BooleanField nicht importieren
flask\scripts\pip install Flask-WTF
Ich habe keine anderen im globalen Python-Ordner installierten Pakete. Mein Code sieht wie folgt aus:
# Importing TextField and BooleanField is not working...
from flask.ext.wtf import Form, TextField, BooleanField
from flask.ext.wtf import Required
class LoginForm(Form):
openid = TextField('openid', validators=[Required()])
remember_me = BooleanField('remember_me', default=False)
und andere Pakete sind wie sqlalchemy auch installiert nur in der virtuellen Umgebung gefunden.
Der Fehler, den ich bekommen ist:
(flask) D:\Development\grading>flask\Scripts\python.exe restserver.py Traceback (most recent call last):
File "restserver.py", line 1, in <module> from app import app
File "D:\Development\grading\app\__init__.py", line 12, in <module> from forms import LoginForm
File "D:\Development\grading\app\forms.py", line 1, in <module> from flask.ext.wtf import Form, TextField, BooleanField
File "D:\Development\grading\flask\lib\site-packages\flask\exthook.py", line 87, in load_module
raise ImportError('No module named %s' % fullname) ImportError: No module named flask.ext.wtf.TextField
Formular gefunden wird, aber nicht TextField- und BooleanField. Was ist das Problem hier?
aktualisieren Ich sah nur durch einige der Flask-WTF-Code und fanden diese:
from flask.ext.wtf import Form
from wtforms.fields import TextField, BooleanField
from wtforms.validators import Required
Bin ich mit Beispielen von einer älteren Version oder so etwas?
diese Antwort Ihre Frage nicht, aber wenn Sie sind in ein Virtuelle Umgebung müssen Sie den Pfad zum virtualisierten Python nicht angeben. Ein Teil des 'activate.bat'-Skripts richtet Ihre Shell-Variablen so ein, dass sie auf die virtualisierten Versionen von Dingen wie python.exe und pip.exe verweisen. Außerdem sollten Sie die virtuelle Umgebung nicht in Ihr Quellcodeverzeichnis einfügen (so wie es aussieht). Die beste Vorgehensweise besteht darin, alle virtuellen Umgebungen in ein eigenes separates Verzeichnis zu stellen und die Aktivierungsskripte zum Anpassen der Shell zu verwenden. –
Ich stelle keine Quelle in den virtualenv-Ordner. Es ist im 'app' Ordner. Ich benutze die Skripte eigentlich nicht zur Installation, sondern zum Ausführen von pycharm, damit ich während des Änderns des Projekts nichts aktivieren muss. Es behandelt das alles automatisch für mich. Trotzdem trotzdem danke! – Asken
Wenn ich könnte, würde ich Ihnen +1 nur für die Verwendung von PyCharm geben. Ich liebe es! –