この「Taurus Blazemeter 'bzt'」プログラムをpipでインストールすると、~/.local/bin
フォルダにインストールされます。
mkdir ~/bzt && cd ~/bzt
Sudo apt-get install python default-jre-headless python-tk python-pip python-dev libxml2-dev libxslt-dev zlib1g-dev
Sudo pip install bzt
この~/.local
フォルダーの用途と、なぜこのようなPythonプログラムがそこにインストールされるのか)を知っている人はいますか?
短い答えは、~/.local/bin
はPythonのユーザースクリプトディレクトリのデフォルト値であり、pip
がユーザーローカルインストールを実行する場合、このディレクトリに実行可能ファイルをインストールする可能性があるということです。また、ユーザーベースディレクトリのデフォルト値である~/.local
の他のサブディレクトリにファイルをインストールする可能性があります。詳細は以下をご覧ください。
これが最初の導入かどうかはわかりませんが、~/.local
ディレクトリは systemd initシステムの file-system hierarchy specification にあります。 ~/.local
のいくつかのサブディレクトリを定義します:
〜/ .local/bin
ユーザーの$ PATH検索パスに現れる実行可能ファイル。シェルからの呼び出しに役立たない実行可能ファイルをこのディレクトリに配置しないことをお勧めします。これらは、代わりに〜/ .local/libのサブディレクトリに配置する必要があります。この場所にアーキテクチャ依存のバイナリを配置する場合は注意が必要です。これは、異なるアーキテクチャの複数のホスト間でホームディレクトリが共有されている場合に問題になる可能性があります。
〜/ .local/lib
すべてのアーキテクチャと互換性のある静的なプライベートベンダーデータ。
〜/ .local/lib/Arch-id
パブリックダイナミックライブラリを配置する場所。使用するアーキテクチャ識別子は、Multiarch Architecture Specifiers(Tuples)リストで定義されています。
〜/ .local/share
フォントやアートワークなど、複数のパッケージ間で共有されるリソース。通常、このディレクトリの下に保存されるファイルの正確な場所と形式は、相互運用性を保証する仕様の対象となります。アプリケーションが$ XDG_DATA_HOMEセットを検出した場合、このディレクトリではなく、アプリケーションで指定されたディレクトリを使用する必要があります。
Python=による~/.local
ディレクトリの採用は、Python 2.6で導入されたようであり、PEP(Python Enhancement Proposal)370で文書化されています。
この仕様には、Unixシステム(Mac OS Xを含む)に関する以下の定義が含まれています。
ユーザーベースディレクトリ
~/.local
ユーザースクリプトディレクトリ:
~/.local/bin
ユーザーサイトディレクトリ:
~/.local/lib/python2.6/site-packages
ユーザーデータディレクトリ:
~/.local/lib/python2.6
これから、Pythonにはいわゆる「ベースユーザーディレクトリ」の概念があり、そのデフォルト値は~/.local
であると結論できます。ベースユーザーディレクトリについては、 site
モジュールに関するPythonドキュメント 。特に、ユーザーベースディレクトリとユーザーサイトディレクトリの値、--user-base
と--user-site
を決定するためのメソッドを提供します。オプションフラグ。次のように使用できます。
user@Host:~$ python -m site --user-base
/home/user/.local
user@Host:~$ python -m site --user-site
/home/user/.local/lib/python2.7/site-packages
参考として使用した~/.local
ディレクトリに関連するStackExchangeサイトに投稿されたいくつかの質問があります。