我想要一個GEdit的快捷鍵,當我按F5鍵時將運行當前打開的.py文件。我有一個腳本通過外部終端窗口執行此操作,但創建使用內部輸出窗口(我猜測是Shell輸出)的版本時遇到了更多麻煩,因爲我無法找到一種抓取pyenv的好方法來自〜。/ bashrc文件的細節。使用pyenv是強制性的。Python在GEdit中運行快捷方式
這是我通過的gedit的外部工具插件有:
未解:內殼輸出方式:
我希望得到能夠訪問在pyenv設置〜/ .bashrc中,所以我試過這種外部工具腳本:
#!/bin/bash
set +m
bash -i python $GEDIT_DOCUMENTS_PATH
此作品(感謝-I),但它給我的「慶典:在這個殼無作業控制」的警告。運行設置+ m應該擺脫此消息,但它不。
所以我提出有關的東西,我曾在〜/ .bashrc中結束了這個劇本,這是不理想的根本:
#!/bin/bash
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH="${PYENV_ROOT}/bin:${PATH}"
eval "$(pyenv init -)"
fi
export PYENV_VERSION=3.3.4
export LD_LIBRARY_PATH=~/.pyenv/versions/3.3.4/lib/python3.3/site-packages/PySide-1.2.1-py3.3.egg/PySide/
python $GEDIT_CURRENT_DOCUMENT_NAME
問題:這最後一塊是可怕的。它只是從〜/ .bashrc複製而來,它甚至需要包含〜/ .bashrc應該處理的PySide數據。此外,出於某種原因,使用此方法始終輸出.py文件的第一行(例如,import sys)。顯然,使用這種方法不能輸入(),並且輸出到GEdit的嵌入式終端似乎是不可能的。另外,即使使用set + m或在子外殼中運行命令,我也無法擺脫「完成」消息。
解決:外部終端窗口方法:
#!/bin/sh
gnome-terminal -x $SHELL -ic "python $GEDIT_CURRENT_DOCUMENT_NAME; printf \"\nPress any key to continue.\"; read -n 1 -s"
,或者定義名爲,比方說,等待終端簡檔,其設置標題和命令 - >當終端退出:握住終端開放,並執行此操作:
#!/bin/sh
gnome-terminal --profile=Wait -x $SHELL -ic "python $GEDIT_CURRENT_DOCUMENT_NAME; printf \"\nPress any key to continue.\""
儘管這給出了「狀態0」消息,所以其他方法更好。這兩種方法都使用交互式shell來訪問〜/ .bashrc。
你有沒有考慮過使用[Sublime Text](http://sublimetext.com)?雖然不是F/OSS,但它有幾種運行Python文件的方式,包括爲不同版本/ virtualenvs生成多個「構建系統」的能力,以及[SublimeREPL](https://github.com/wuub/SublimeREPL)插件可讓您在編輯器中運行一個或多個Python解釋器。 – MattDMo