Ubuntuは〜/ .local / binで実行可能ファイルを見つけることができません


12
after installation with

pip3 install --user steem-piston
you will get a new executable piston installed in ~/.local/bin

pip installを使用してツールをインストールしましたが、実行可能ファイルが見つかりません。

このディレクトリが〜/ .local / binであることを理解できません。

root / local / binだけですか?

回答:


11

~/ホームフォルダのためのシェルの略称であり、通常は/home/USERNAME/、どこUSERNAMEにユーザーの名前です。それは同じです$HOME

~/.local/binは、ホームbinフォルダーで指定されたサブフォルダーで指定されたサブ.localフォルダーです。

使用できます

~/.local/bin/pip3

新しいpip3実行可能ファイルを呼び出します。環境変数に追加~/.local/binする方が簡単な場合があります。「パスにディレクトリを追加する方法」を$PATH参照してくださいそのため~/.local/bin/、常に入力する必要はありません。

あなたはそれを追加していることを確認してくださいする前の古い値$PATHのように、

PATH="$HOME/.local/bin/:$PATH"

投稿ありがとうございます。残念ながら、ホームフォルダーにサブフォルダーが表示されません(隠しファイルですか?)。そして、私は、端末IのGETでそのコマンドを入力すると:bashの:/home/myname/.local/bin/pip3:そのようなファイルやディレクトリはありません
TabulaSmaragdina

はい。ファイルまたはフォルダーの名前がドットで始まる場合、デフォルトでは非表示になっています。を使用ls -aして、ls非表示のファイルとフォルダーも表示できます。
フロリアンディーシュ

@TabulaSmaragdinaファイルが見つからないのは奇妙です。実行してみてくださいls -a ~/.local/bin。出力が長い場合は、質問に編集してください。
wjandrea

1
じゃない~/.local/bin/piston
テルドン

注:~/.local/bin/最新のUbuntuでは、すでに$ PATHにあります。
アーロンフランケ

7

~/.local/binUbuntu 16.10のPATHに追加され、16.04にバックポートされました。https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1588562を参照してください

すべてのアップデートでUbuntu> = 16.04を実行している場合、すでに問題はありません。そうでない場合は、手動で追加できます。

単一のユーザーの場合、ファイルを編集~/.profileし、最後に追加します:

PATH="$HOME/.local/bin:$PATH"

新しく作成したユーザーにこれを持たせたい場合は、この同じ行を /etc/skel/.profile


0

私は今日これをやっていましたが、何がどこにインストールされているかをある程度管理したい人にとっては、明確なドキュメントが不足しているようです。

pip3 installを実行したと仮定すると、ご存知のように〜/ .localの下にデフォルトで置かれます。Unixでの慣例により、ファイルタイプを分割し、「実行可能な」ものを〜/ .local / binに置きます。

ターミナルでこれを入力して、今すぐパスを確認します。

$ echo $PATH

〜/ .localにインストールされているpythonのものがあることを確認してください

$ ls -la ~/.local/bin

これは、実行可能ファイルが存在することを確認します。これらのファイル許可に「x」が表示されている場合、それらは実行可能です。

次に、そのディレクトリをターミナル内のパスに追加します

$ export PATH=~/.local/bin:$PATH

パスをもう一度確認して、変更を確認します。これは、そのターミナルセッション専用の一時的な設定であることに注意してください。同時にまたは将来、他の端末には適用されません。物事をテストするのに適した場所です。

その後、コマンドラインに名前を入力すると、〜/ .local / bin内のすべてのプログラム実行可能ファイルが実行されます。たとえば、「〜/ .local / bin / jupyter」を実行する必要はありません。「jupyter」と入力するだけです。時々表示される「./」は必要ありません。これは、パスにない作業ディレクトリからプログラムを起動する場合です。

後でPATHに〜/ .local / binが常に含まれるように永続的にしたい場合は、いくつかの環境設定ファイルを編集することでそれを行うことができます。たとえば、ホームフォルダー「.bashrc」ファイルの設定に応じて、最後の行は「export PATH = $ PATH:$ HOME / bin」です。そのため、その前に$ HOME / local / binを置くことができます。注:「〜」ではなく、$ HOMEを書きました。その後、BASHシェルを使用するたびに、PATHが修正されます。他のシェルを使用する場合は、代わりに〜/ .profileを編集するのが正しいと思います。Ubuntuのすべてのシェルがそのファイルのソースになると思います。

私の場合、jupyterなどのいくつかのプログラムをpip3でインストールしました。インストール先を確認する1つの方法は、実行することです

$ pip3 list

pip3によってインストールされたパッケージだけでなく、利用可能なすべてのパッケージを表示します。

$ pip3 show jupyter

私の場合、例えば:

---
Metadata-Version: 2.0
Name: jupyter
Version: 1.0.0
Summary: Jupyter metapackage. Install all the Jupyter components in one go.
Home-page: http://jupyter.org
Author: Jupyter Development Team
Author-email: jupyter@googlegroups.org
Installer: pip
License: BSD
Location: /home/pauljohn/.local/lib/python3.5/site-packages
Requires: nbconvert, ipykernel, ipywidgets, notebook, jupyter-console, qtconsole
Classifiers:
  Intended Audience :: Developers
  Intended Audience :: System Administrators
  Intended Audience :: Science/Research
  License :: OSI Approved :: BSD License
  Programming Language :: Python
  Programming Language :: Python :: 2
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3
  Programming Language :: Python :: 3.3
  Programming Language :: Python :: 3.4

これを炎のように聞こえさせたくありませんが、攻撃のように思えるかもしれません。「sudo pip3 xxx」を実行するために、ここの一部の人々が提供するアドバイスに熱心に従わないように警告します。通常、ルートインストールはDebianパッケージでのみ実行し、pip3では実行しません。sudoを使用せずに実行すると、ユーザーアカウントに危険が限定されます。rootとしてスクリプトを実行しているときに間抜けになった場合、ハードディスク全体にファイルをばらまき、後悔する可能性があります。特に、他の人がそのコンピューターにログインして使用する場合は、自信がない限り、rootとして何もしないでください。

また、注目に値するのは、pip3がデフォルトで〜/ .localにインストールされることですが、これは必須ではありません。「man pip3」を読み、「-t」(-target)を探します。インストールディレクトリを指定できます。他のディレクトリの損傷を制限し、必要なときにいつでも削除できるので、これは素晴らしいと思います。〜/ .localには、他のプログラムによってインストールされた他の貴重なものが含まれている可能性があり、それらを消去することは避けます。とにかく〜/ .localはプログラムよりも設定のための場所だと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.