我開始評估PyCharm 3專業版,因爲我將在幾個Pyramid + SQLAlchemy項目上工作。 我真心喜歡的事情之一是SQLAlchemy自動完成。PyCharm SQLAlchemy自動完成
我會解釋我的情況。
我用鍊金術腳手架創建了一個新的起動器項目,我按照這裏的說明http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/pycharm/index.html。我還爲我爲此項目使用的解釋器和虛擬環境安裝了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 +空格來嘗試獲取建議,並顯示「無建議」消息。
我真的很想有我可以在我的DBSession變量上使用的函數的SQLAlchemy建議(如filter,filter_by,first等)。我會說這對我來說是強制性的:)
有什麼我失蹤了嗎?或者,PyCharm不支持這個?
您使用的是虛擬環境嗎? – IanAuld
是的,我正在使用虛擬環境,但是我意識到這可能與PyCharm無關,因爲它可能不會推斷某個變量在編輯器中屬於某種類型。所以我必須學會沒有自動完成的生活。 –
轉到'文件>設置> Python解釋器'並確保您的虛擬環境安裝SQLAlchemy被選中。有時它會選擇錯誤的解釋器,並失去自動完成支持。 – IanAuld