Flask导入错误运行安装脚本

时间:2013-11-09 14:04:19

标签: python flask

我正在使用Flask webapp。我使用ZODB与Flask-ZODB扩展。 我有一个小脚本来初始化我的数据库上的一些默认对象,例如用户和用于存储用户将提交的一些数据的“索引”。

结构如下:

myproject/
   |- myproject/
   |    |- __init__.py
   |    |- models.py
   |    |- views.py
   |    |- database/
   |    |- static/
   |    |- templates/
   |
   |- run.py
   |- setup.py

安装脚本如下所示:

[setup.py]

from myproject.models import Usuario
from ZODB.DB import DB
from ZODB.FileStorage import FileStorage
from flask.ext.zodb import BTree
import transaction

# add admin users
superU = Usuario("somemail@gmail.com", "xxx")
admin  = Usuario("admin@gmail.com", "yyy")

#create indexes
storage = FileStorage('myproject/database/db.fs')
conn = DB(storage)
db = conn.open().root()

for idx in ['usuarios', 'proyectos', 'informes', 'actividades', 'objetivos', 'usuarios']:
    if not idx in db.keys():
        db[idx] = BTree()

db['usuarios'][superU.id] = superU
db['usuarios'][admin.id] = admin

for usuario in db['usuarios'].values():
    print "Usuario '", usuario.email, "' added..."

transaction.commit();
conn.close();

模型文件

init 文件

[_ 初始化 _。PY]

from flask import Flask
from models import Usuario

# configuration
DEBUG = True
SECRET_KEY = 'development key'
USERNAME = 'admin'
PASSWORD = 'default'

app = Flask(__name__)
app.config.from_object(__name__)

from basedatos import Coleccion, Catalogo
coleccion = Coleccion(app)
catalogo  =  Catalogo()

import myproject.views

[models.py]

from flask import current_app as app
from flask.ext.zodb import Object, List, Dict
from flask_login import UserMixin
from itsdangerous import URLSafeSerializer
from hashlib import sha256


class Usuario(UserMixin):
    """
        Usuarios de la aplicacion
    """
    def __init__(self, email, password):
        self.email = email
        self.passwordHash = sha256(password).hexdigest()
        self.id = email

    def get_auth_token(self):
        return URLSafeSerializer(app.secret_key, salt='id salt').dumps(self.id+self.passwordHash)

所以问题是,当我想运行我的设置时,我收到此导入错误:

  

Traceback(最近一次调用最后一次):文件“setup.py”,第3行,in          来自myproject.models导入Usuario文件“S:\ Fuentes \ workspace \ Python \ flaskapps \ myproject-app \ myproject__init __。py”,   第1行,in       来自flask导入Flask ImportError:没有名为flask的模块

当我运行应用程序时,一切正常,我从控制台运行脚本时只有这个问题。 (我在Windows上)


我关闭这个,这是一个虚拟问题。碰巧的是,如果你只使用setup.py或c:\ Python27 \ python.exe setup.py,它就不会查看活动venv的sitePackages文件夹。解决方案是将其称为> python.exe setup.py

0 个答案:

没有答案