2014-02-09 25 views
1

對於編寫Python我目前使用優秀的PyCharm IDE。我喜歡它的代碼完成方式,因此您通常只需鍵入前兩個字母,然後按回車即可。改進的IDE'ish Python命令行包括代碼完成?

爲了便於測試我當然也經常在命令行上。唯一的問題是我在命令行上錯過了IDE的便捷功能。爲什麼在命令行上沒有代碼完成?當我啓動一個新的Python交互式解釋器時,它爲什麼不記得先前插入的命令(比如sqlite3)?

所以我搜索了周圍,但我找不到像這樣的東西,或者我根本就沒有搜索正確的單詞。

所以我的問題;有沒有人知道Python交互式命令行解釋器的改進和更方便的版本?歡迎所有提示!

+1

我的確在之前嘗試過IPython,但並不喜歡每個命令所佔用的大空間。然而,我剛剛下載了bpython,並立即墜入愛河。太感謝了! – kramer65

+0

是的,'bpython'不太知名,但有一噸的迷人:) –

+0

此外,如果你有興趣,請參閱[本視頻](http://pyvideo.org/video/1568/console-applications- with-urwid)來演示它的一些功能。 (bpython的東西從00:30左右開始)。 –

回答

4

bpython是替代交互式Python解釋器的衆多選擇之一,它提供了您提到的兩個功能(選項卡完成和持續讀取歷史記錄)。

bpython screenshot

另一個非常常用的一個將被IPython,雖然我個人並不很喜歡它(只是個人喜好,很多人都非常喜歡它)。

最後但並非最不重要,你也可以啓用標準Python解釋這些功能:

包含這個腳本你的home目錄創建一個文件~/.pythonrc

try: 
    import readline 
except ImportError: 
    print "Module readline not available." 
else: 
    import rlcompleter 
    readline.parse_and_bind("tab: complete") 

這將嘗試導入的ReadLine模塊,其默認完成函數綁定到TAB鍵。爲了在每次啓動Python解釋器時執行此腳本,請將環境變量PYTHONSTARTUP設置爲包含此腳本的路徑。你如何做到這一點取決於你的操作系統 - 在Linux上,你可以做你的~/.bashrc例如:

export PYTHONSTARTUP="/home/lukas/.pythonrc" 

(該文件不需要被稱爲.pythonrc,甚至是在你的主目錄 - 所有重要的是,它是你在PYTHONSTARTUP設置相同的路徑)

  • 永久記錄:在.pythonrc文件中Marius Gedminas的點文件。這個概念與上面相同:添加將歷史記錄保存並加載到~/.pythonrc的代碼,並配置PYTHONSTARTUP環境變量以包含該腳本的路徑,以便每次啓動Python解釋器時都會執行它。

他的腳本已經包含tab完成部分。因此,既然你想要兩個,你可以將他的腳本​​保存到~/.python,並將他的bashrc.python的內容添加到你的~/.bashrc

+0

我特別喜歡使用建議的要點將其添加到常規python解釋器的想法。你知道當我啓動python解釋器時,如何設置該腳本始終執行? – kramer65

+0

當然 - 通過設置['PYTHONSTARTUP'](http://docs.python.org/2/using/cmdline.html#envvar-PYTHONSTARTUP)環境變量。看到我更新的答案。 –