これは奇妙に聞こえるかもしれませんが、nano / viでファイルを開き、何かを変更し、エディターを終了して、何度も何度も入力するよりも、Pythonスクリプトを作成するためのより良い方法が必要ですpython script.py
。
GUIを使用せずにWebサーバーでスクリプトを作成する必要があります。ワークフローを改善するにはどうすればよいですか?
この行を.vimrcファイルに入れます。
:map <F2> :w\|!python %<CR>
ここで押す<F2>
と、Pythonスクリプトが保存されて実行されます
スクリーンユーティリティを見てください。これはIDEではありませんが、ターミナル上のある種のウィンドウマネージャーです。つまり、複数のウィンドウを使用してそれらを切り替えることができるため、特にこのようなタスクがはるかに簡単になります。
内からシェルコマンドを実行 できます。vim
ipythonを試すことができます。編集コマンドを使用すると、エディター(nano / vim / etc)が表示され、スクリプトを記述します。終了すると、ipythonプロンプトに戻り、スクリプトが自動的に実行されます。
python-modeでemacsを使用すると、CcCcでスクリプトを実行できます。
コンソールでVimを操作しているときに、バックグラウンドで複数のVimインスタンスを一時停止する代わりに、Vimで「タブ」を使用すると、Vimで複数のファイルをより効率的に処理できることがわかりました。慣れるのに少し時間がかかりますが、それは本当にうまくいきます。
実際には2つの質問があります。1つはPython用のコンソールIDEのポーリングであり、2つ目はより優れた開発/テスト/デプロイワークフローです。
コンソールでPythonコードを書く方法はたくさんありますが、ほとんどのサーバーで通常利用できるので、screen、vim、python/ipythonの組み合わせが最適だと思います。長いセッションをしている場合、emacs+python-modeは通常タイピングが少なくて済みます。
より良いワークフローのために、開発環境をセットアップすることをお勧めします。最近では、デスクトップ/ラップトップにLinux VMを簡単にセットアップできます。趣味のプロジェクトであっても、そうしない理由はありません。これにより、次のような、利用可能なIDEの選択肢が大幅に広がります。
また、変更を追跡するようにSCMをセットアップして、QAを改善し、それを使用してテスト済みの変更をサーバーに展開できるようにします。
たとえば、ペットプロジェクトにMercurialを使用し、準備ができたらリポジトリにタグを付け、デプロイ時に本番サーバーをタグに更新します。devboxで、私はします:
次に、サーバーにジャンプして、デプロイするときに次のことを行います。
さて、より有能なコンソールエディタの1つ(Emacsまたはviが頭に浮かぶでしょう)を使用する以外に、なぜWebサーバー自体でそれを編集する必要があるのですか?一定のFTP/WebDAV転送が面倒だと思われる場合は、リモートで編集するだけです。
EmacsにはTrampModeがあり、Linuxではgedit、Macではbbeditがリモート編集もサポートしています。おそらく他の編集者のかなりの数。その場合は、より高性能なデスクトップで編集し、シェルウィンドウからスクリプトを再起動するだけです。
価値のあることとして、VIMだけで以前に投稿されたのと同じタスクを実行できます。コマンドラインからPythonをテストする際にも同じ問題が発生しました。
私の解決策は、screen
コマンドを使用することでした。画面を垂直に分割し、シェルの1つのインスタンスでPythonを実行し、2番目の画面では通常VIMを使用してPythonコードを編集します。
インストールするコマンドscreen
:
sudo apt-get install screen
パッケージには少し学習曲線がありますが、すべての知識を含むscreen
「」コマンドを覚えていれば、謎はありません。Ctrl-Alt ?
GUIは必要ありません!