【发布时间】:2014-03-14 15:41:57
【问题描述】:
我开始评估 PyCharm 3 专业版,因为我将从事几个 Pyramid + SQLAlchemy 项目。 我真的很想拥有的一件事是 SQLAlchemy 自动完成。
我按照these 的说明使用炼金术脚手架创建了一个新的入门项目。我还为我在这个项目中使用的解释器和虚拟环境安装了 SQLAlchemy 包。
另外,当我为此代码创建一个新的 pycharm 项目时,IDE 建议我安装金字塔、sqlalchemy 和其他包。我当然接受了这个建议,让 IDE 安装所有这些包。
在models.py文件中,DBSession声明如下:
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
在views.py文件中,DBSession是这样使用的:
one = DBSession.query(MyModel).filter(MyModel.name == 'one').first()
所以我开始使用 IDE 并做了这样的事情:键入 DBSession。 IDE只是给了我一些建议,其中没有列出“查询”功能。然后我尝试输入:DBSession.query(MyModel)。并按Ctrl+Space 尝试获取建议并显示“无建议”消息。
我真的很想获得可以在我的 DBSession 变量上使用的函数的 SQLAlchemy 建议(如 filter、filter_by、first 等)。我会说这对我来说是强制性的:)
我有什么遗漏吗?或者,PyCharm 不支持这个?
【问题讨论】:
-
您使用的是虚拟环境吗?
-
是的,我使用的是虚拟环境,但我意识到这可能与 PyCharm 无关,因为它可能无法推断出某个变量在编辑器中属于某种类型。所以我必须学会在没有自动完成的情况下生活。
-
转到
File > Settings > Python Interpreter并确保选择了安装 SQLAlchemy 的虚拟环境。有时它会选择错误的解释器,你会失去自动完成支持。 -
@IanAuld,我检查了一下,virtualenv 被选为项目的 python 解释器。虚拟环境是否必须在同一台计算机上的虚拟机中?
标签: python sqlalchemy pyramid pycharm