2017-07-06 9 views
1

pythonがどのように動作するのかを理解しようとしています。env/bin/pythonとenv/lib/pythonX.Yの違い(libに注意してください)

誰でもenv/bin/pythonとenv/lib/python3.6の違いを知っていますか?それは本当に知っておくと便利です。私は唯一の環境にインストールパイソンの1つのバージョンを持っている:

感謝:)

EDITを - (binとlibに異なるパスに注意してください)。 env/bin/pythonには、env/bin/python3.6(明らかにバイナリファイルです)へのシンボリックリンクがあります。しかしenv/lib/python3.6には、インストールされたパッケージが格納されているsite-packagesのようなディレクトリがあります。

私の質問は.../env/binのバイナリファイルはいつ使用され、ディレクトリはいつアクセスされますか?シェルで「python」と言うと、ビンに移動しますが、インタプリタで 'djangoをインポートする'と言うと、libのpython3.6に行きパッケージを取得します。正しい軌道にいるのですか?

答えて

2

/bin/pythonはバイナリで、pythonコードを解釈するプログラムです。 lib/pythonX.Yはプログラムが使用するライブラリです。ライブラリは、C/C++とPythonで書かれたモジュールとパッケージのコレクションです。

lib/pythonX.Y/site-packagesはサードパーティ製モジュール用のディレクトリです。 distutils/setuptools/pipにパッケージをインストールします。

site-packages以外のlib/pythonX.Yにあるものはすべて標準ライブラリです。これは常にPythonでインストールされるモジュールです。 https://docs.python.org/3/のページには、サードパーティのモジュールではなく標準ライブラリが記載されています。

+0

2つの間の相対パスは../lib/pythonX.Yである必要がありますか? –

+0

通常は変更できますが、はいです。 – phd

0

XとYは使用しているPythonのバージョンを表します。

+0

申し訳ありませんが私は明らかにされていません...なぜ私はenv/binとenv/lib –

0

あなたのマシンは複数のバージョンのpythonを同時に保存することができ、どちらが使われているかはあなたの現在の端末のPATHによって異なります。あなたは、インタプリタはあなたが両方のpython 2.7とPython 3がインストールされている場合、あなたはまた、端末

> python my_script.py # run using the default python interpreter 
> python3 my_script.py # run using the configured version of python3 
にフルネームを使用していずれかを選択することができるかもしれない

> which python 

をコマンドを入力することによって使用されているのpython伝えることができます

official Python wikiには、使用するバージョンとその理由を知るのに役立つ追加リソースがあります。

+0

ちょっと、私は唯一のバージョンのpythonが環境にインストールされている。ここで注意すべき点の1つは、/ env/bin/pythonはenv/bin/python3.6(明らかにバイナリファイルです)へのシンボリックリンクであることです。しかし、env/lib/python3.6には、インストールされたパッケージが格納されているsite-packagesのようなディレクトリがあります。では、/ env/binのバイナリファイルはいつ使用され、いつdirがアクセスされますか? –

関連する問題