2016-04-29 83 views
2

我如何讓Intellij識別靜態鏈接到解釋器的內置函數,如sys?當我做import sys因此我沒有得到自動完成的功能sys沒有對應的.py文件在site-packages。爲什麼這與PyCharm一起工作,但它不適用於IntelliJ?Intellij內置python模塊(即.sys)的未解決參考

import sys 

def dump(module): 
    if module in sys.builtin_module_names: 
     print("<BUILTIN>") 
    else: 
     module = __import__(module) 
     print(module.__file__) 

dump("sys") 

輸出:

<BUILTIN>

回答

0

我有一個類似的問題(的IntelliJ不承認喜歡all內置函數),並發現你的問題。

雖然我能夠自己解決:您必須爲您的IntelliJ項目配置Python SDK。這在File> Project Structure> Facets> Python下。如果「Python解釋器」下拉列表爲空,則可以通過「...」按鈕添加一個,這將打開「Configure SDKs」對話框。

通常,這應該列出Java SDKs存在於您的機器上,但您也可以使用「+」按鈕添加Python解釋器(或多個)。然後通過文件菜單導航到系統的Python解釋器(或者選擇一個定製安裝的解釋器)。

在對話框和首選項中單擊「確定」後,將識別內置功能,並且檢查sys功能也是自動完成的。

我會說這對於Pycharm來說非常有用,因爲在項目結構中聲明至少一個Python解釋器是一個需求,而在使用Python作爲插件的Idea中,它不是:聲明一個Java SDK工作項目的唯一要求。