Linuxガイド¶
インストール¶
あなたは使用してxonshインストールすることができconda
、pip
またはソースから。
コンダ:
$ conda config --add channels conda-forge
$ conda install xonsh
pip:
$ pip install xonsh
source:github (zipファイル)からソースをダウンロードし、ソースディレクトリから次のコマンドを実行します。
$ python setup.py install
Debian / Ubuntuのユーザは以下のコマンドを使ってリポジトリからxonshをインストールできます:
apt:
$ apt install xonsh
Xonshはバイオニック・ビーバー(バージョン0.6.0)と芸術的なアワード・バー(バージョン0.5.12)で利用可能です。
Fedoraユーザーは、リポジトリからxonshをインストールするには、次のコマンドを実行します。
dnf:
$ dnf install xonsh
Arch Linuxユーザーは、公式のコミュニティリポジトリからxonshをインストールするには、次のコマンドを実行します。
パックマン:
$ pacman -S xonsh
これらのうちのいくつかが必要かもしれないことに注意してくださいsudo
。何か問題が発生した場合は、お知らせください!
依存関係¶
Xonshは現在、以下の外部依存関係を持っています。
実行時間:
- Python v3.4 +
- PLY(オプション、xonshに含まれています)
Pipはの形式で "余分な"依存関係をサポートしています。xonsh[ptk,linux]
ここで、括弧内のリストはオプションの機能
Xonshには現在以下の補足があります
ptk
:prompt-toolkit: 高度なreadlineライブラリ、行編集pygments>=2.2
:構文強調表示proctitle
:setproctitle:現在のサブプロセスを反映するために端末のタイトルを変更するlinux
:ディストリビューション:Linux固有のプラットフォーム情報mac
:gnureadline:GNUの機能豊富なreadlineバージョンwin
:win_unicode_console:WindowsコンソールでのUnicodeの使用を可能にする
さらに、xonshはブラウザー内のREPLであるJupyterと統合され、jupyterのノートブックでxonshを使用できるようにします
開発の依存関係¶
xonshを開発したい場合は、requires.dxt(ドキュメンテーションを生成するため)およびrequirements-tests.txt(テストスイートを実行するため)にリストされている依存関係をインストールすることを強くお勧めします。
カスタマイズ¶
設定の詳細については、xonshカスタマイズガイドを参照してくださいxonsh
。
Bashとの競合¶
Bashのインストール方法によっては、Xonshが特定のシェルモジュールを読み込めない場合があります。特に、Xonshを起動するときにこのようなエラーが表示された場合は、
bash: module: line 1: syntax error: unexpected end of file
bash: error importing function definition for `BASH_FUNC_module'
bash: scl: line 1: syntax error: unexpected end of file
bash: error importing function definition for `BASH_FUNC_scl'
bash: module: line 1: syntax error: unexpected end of file
bash: error importing function definition for `BASH_FUNC_module'
bash: scl: line 1: syntax error: unexpected end of file
bash: error importing function definition for `BASH_FUNC_scl'
...問題を解決するには、次の行を追加してモジュールを設定解除します。~/.bashrc file
unset module
unset scl
デフォルトのUbuntu .bashrcは外部シェル関数を壊します¶
XonshはForeignShellFunctionAliasクラスを使用して外部シェルから関数をインポートすることをサポートしています 。ForeignShellFunctionAliasクラスは関数をエイリアスであるかのように呼び出します。これは、関数定義を含むファイルをソースとするコマンドを実行することによって実装され、必要な引数を持つ関数をすぐに呼び出します。
Ubuntu 15.10 のデフォルトのユーザー〜/ .bashrcファイルの上部に次のスニペットが表示され、対話的に実行されないとスクリプトは直ちに終了します。
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
つまり、この時点以降にファイルに追加した関数はxonshエイリアスとして登録されますが、実行に失敗します。Ubuntuの以前のバージョンでは、同じ問題が発生するファイルの先頭のインタラクティビティのテストが異なります。