Linuxガイド

インストール

あなたは使用してxonshインストールすることができcondapipまたはソースから。

コンダ:

$ conda config --add channels conda-forge
$ conda install xonsh

pip:

$ pip install xonsh

source:githubzipファイルからソースダウンロードし、ソースディレクトリから次のコマンドを実行します。

$ 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は現在、以下の外部依存関係を持っています。

実行時間:

  1. Python v3.4 +
  2. PLY(オプション、xonshに含まれています)

Pipはの形式で "余分な"依存関係をサポートしています。xonsh[ptk,linux]ここで、括弧内のリストはオプションの機能

Xonshには現在以下の補足があります

  1. ptk:prompt-toolkit: 高度なreadlineライブラリ、行編集
  2. pygments>=2.2構文強調表示
  3. proctitle:setproctitle:現在のサブプロセスを反映するために端末のタイトルを変更する
  4. linux:ディストリビューション:Linux固有のプラットフォーム情報
  5. mac:gnureadline:GNUの機能豊富なreadlineバージョン
  6. 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の以前のバージョンでは、同じ問題が発生するファイルの先頭のインタラクティビティのテストが異なります。