我一直在使用Aptana和pydev和IDLE来学习python2.7。除了当我遇到这个microblog教程时,它在帮助我学习方面做得很好。其中有一行from flask.ext.sqlalchemy import SQLAlchemy
这导致db = SQLAlchemy(
线,在Aptana没有帮助,没有文档字符串,没有什么可以去那里的例子。更糟的是,所有这一切:调整python自动完成行为
class User(db.Model):
id = db.Column(db.Integer, primary_key = True)
nickname = db.Column(db.String(64), index = True, unique = True)
email = db.Column(db.String(120), index = True, unique = True)
role = db.Column(db.SmallInteger, default = ROLE_USER)
是红色的,不知道如何拉开它来学习它的语法。然而,当我这样做:
from flask.ext.sqlalchemy import SQLAlchemy
from flask import Flask
app = Flask(__name__)
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer,primary_key = True)
在空闲时我正在自动完成,文档字符串,我可以看到还有什么可以去那里,我可以学习。
我认为答案会存在于一个新的IDE环境中,我认为VIM可能会有所帮助。我在Windows上,所以GIT,MinGW,TortoiseHG,_vimrc,vimfiles,{autoload,bundle},pathogen.vim,jedi-vim,从源代码构建vim(由于某些原因,我一直发现没有启用python)考虑到第一次曝光并且一次全部都不是件容易的事。所以我有一个可以编辑python代码的vim,而vim中的from flask.ext.sqlalchemy import SQLAlchemy
和Aptana有相同的结果,没有任何帮助。
有人可以向我解释为什么IDLE能够帮助,但Aptana/Pydev和Vim不能?有人能告诉我他们如何提供帮助吗?
这是在flask.ext .__的init __()。PY
# -*- coding: utf-8 -*-
"""
flask.ext
~~~~~~~~~
Redirect imports for extensions. This module basically makes it possible
for us to transition from flaskext.foo to flask_foo without having to
force all extensions to upgrade at the same time.
When a user does ``from flask.ext.foo import bar`` it will attempt to
import ``from flask_foo import bar`` first and when that fails it will
try to import ``from flaskext.foo import bar``.
We're switching from namespace packages because it was just too painful for
everybody involved.
:copyright: (c) 2011 by Armin Ronacher.
:license: BSD, see LICENSE for more details.
"""
def setup():
from ..exthook import ExtensionImporter
importer = ExtensionImporter(['flask_%s', 'flaskext.%s'], __name__)
importer.install()
setup()
del setup
在我的情况下,从flask.ext.sqlalchemy进口SQLAlchemy的
所以在翻译站点包“查找flask_sqlalchemy.py并在该文件中找到SQLAlchemy“,在这种情况下,它是一个大类。我怎样才能让Aptana和vim看到这一点,就像IDLE一样?
+1挖掘到这么好!您可能需要针对Aptana的/您的VIm插件的Python支持提交一个错误。 – 2013-04-30 00:50:26
而且,仅供参考,您现在可以通过跳过导入钩子并从'flask_sqlalchemy'导入而不是更好看的'flask.ext.sqlalchemy'来解决问题。 – 2013-04-30 00:51:57
如果IDLE工作,您为什么要尝试使用Vim? – romainl 2013-04-30 05:31:30