2013-02-17 1 views
6

私はLinuxとUnixに比較的新しいです。インターネットの助けを借りて、$PATHと私の.bashrcでエイリアスがどのように働いているかを考え出しました。

しかし、私は実際にどのようなものを使用するかを説明するものは見つかりませんでした。

はのは、私はライブラリ/フレームワークでPython3.3をインストールしましょうと実行可能ファイルは /Library/Frameworks/Python.framework/Versions/3.3/bin/python3ですが、私はちょうど私の端子にpython3を入力してのpython 3.3を実行したいです。

私はそれを正しく理解すると、これを達成するための3つの方法(少なくとも)があります。

1)私は私の.bashrcに中の$ PATHを変更します。

export PATH=/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH} 

2)私は、エイリアスを設定

alias python3=/Library/Frameworks/Python.framework/Versions/3.3/bin 

3)シンボリックリンク(シンボリックリンク)の作成:

ln -s /Library/Frameworks/Python.framework/Versions/3.3/bin /usr/local/bin 
を私の.bashrcの中

(あなたの経験から)あなたは「推奨された」方法とは何でしょうか?

+1

私はあなた 'alias'と' LN -s'コマンドが正しいとは思いません。おそらく '/ bin'だけでなく' bin/python3'をすべて使用するようにしたいとします。 – FoolishSeth

+0

'.bashrc'に' function'を追加することもできます。 –

+0

ありがとうございます。 bin/python3' –

答えて

7

あなたのパスにpython3を置くことは、あなたのファイルシステムにあなたがいるかもしれないどこにでもそれを呼び出す正しい方法です。このコマンドをpythonに変更するには、シンボリックリンクが最適です。スクリプトはバージョンに依存しません(Pythonに依存するスクリプトを実行するにはシンボリックリンクを使用し、Python 3.0にはPython3が必要です彼らは同じことです)。シンボリックリンクはまだファイルシステム内のファイルなので、あなたのパスにいなければなりません。

コマンドラインユーティリティのデフォルトの動作とは異なる何らかの動作を作成しようとしているときに、-aを自動的に追加するlsのエイリアスのようなエイリアスしか表示されません。

また、シンボリックリンクはファイルシステムに保存されるため、一度作成すると他のすべてのログインユーザーに存在し、エイリアスは定義済みのログインユーザーにのみ適用されます。また、ファイルアクセス許可を適用することもできます。

.bash_profileであなたの端末にできることについて、ここにはa fun articleがあります。いくつかの素晴らしいエイリアスが含まれています。

+0

楽しい記事へのリンクは次のようになります:http://digitalformula.net/articles/pimp-my-prompt-like-paul-irish/4/編集が<6文字なので動作しません)。 – user766353

+0

おっと、申し訳ありません。すばらしい記事です、リンクが再び働くのを見てうれしいです。 –

0

私は別のバージョンのPythonを使用すると競合が発生しやすくなるエイリアスをお勧めします。シェルはPATH変数を検索し、Pythonの実行可能ファイルと一致する場合は実行します。エイリアスはシェルプロファイルに.bash_profileのように入れなければなりません。

+1

'PATH'のシンボルリンクがエイリアスより優れていると思うので、デフォルトのアプリケーションが変更されたときにbashプロファイルのソースを指定する必要はありません。 –

4

最初に、/Library/Frameworks/ディレクトリにPythonをインストールする理由はありません。私の提案は、(少なくとも初心者のために)あなたの/Libraryのような最上位ディレクトリを追加すべきではないということです。あなたがソースコードからコンパイルする場合は、標準の./configurebuilt itを持つべきである(そしてそれはおそらく/usr/local/に入る)

私は、ソースコードからのPythonをコンパイルについてよく知っていないが、ほとんどのLinuxのソースコードは、デフォルトで取得./configureあなたのPATH

一部のLinuxディストリビューションではデフォルトですでにしばしばある/usr/local/bin/に入る必要があり、そのバイナリそう/usr/local/接頭辞に-dディレクトリ$HOME/bin/が存在する場合は、間接的に、あなたのPATH内に追加します/etc/profile。その場合、バイナリとスクリプト(またはシンボリックリンク)を追加するだけで、最も単純な方法があります。

私の一般的なアドバイスは、非常に長いまたは非常に具体的なものを避けることです。PATH特に、製品ごとにPATHのディレクトリを追加するのは間違いです。例えば、 directory-variables section of GNU coding standardsとなり、PATHはかなり短くしてください。個人的には、/usr/local/bin/(システム全体)または$HOME/bin/(おそらく/usr/local/bin/$HOME/binの両方が含まれているため、私はPATHを変更しません)のプログラムのみを追加します。非常に長いPATHを持つ過去の経験によって

は悪夢であり、あなたの対話型シェル

+0

ありがとう、それは非常に参考になった、私は私のパスを短く維持しようとします。 Pythonインストールの場合:私はこの時点でLinux/Unixについてあまり知りませんでした。公式のPython WebサイトからPython 3.3のMacOSXインストーラをダウンロードしました。これがデフォルトのインストール場所でした。 –

0

が遅くなりご説明ありがとうございました。

私がすでに言ったように、私はUnixとLinuxにはかなり新しいです。私は他の "初心者"のためのブログのためのもの(エイリアス、symlinks $ PATH)に関する記事を書きました。彼らは本当に興味を持っているので、私はこれらのことについて書くのが好きです。私は自分の経験を共有したいと思います。他の人にも役立つことを願っています。さらに、私が物事を説明しなければならないと、私の理解を深める助けになります。

非常に素早く記事を読んでいただければ幸いです。何か問題があった場合、私は非常に嬉しい提案です!

http://scientific-ocean.com/2013/02/17/an-introduction-to-linuxunix-executables-path-aliases-and-symlinks/

関連する問題