2017-10-27 9 views
0

最近、pipenvというコマンドをインストールしました:pip3 install --user pipenv。 (また、私はPythonの公式ガイドhereに従っていることに言及する価値があります。)ほとんどのオンラインリソースは、ユーザースコープパッケージのデフォルトのインストールディレクトリが~/.local/binであることを示しています。しかし、pipenvのインストールは~/Library/Python/3.6/binにあるようです。バージョン固有のディレクトリ(Python 3.6など)にインストールしておくと、問題が発生する可能性があります。何が起こった?私は心配すべきですか?Pip3は〜/ .local/binにユーザスコープのパッケージをインストールしていません

+1

'' python3 -m site'は 'USER_SITE'の位置は何ですか? –

+1

Pythonのバージョンごとに*インストールすることは絶対に正しい選択です。 –

+0

@GhostlyMartijn 'python3 -m site'はもともと私を'〜/ Library/Python/3.6/bin'に導いたものです。 '〜/ Library/Python/3.6/bin'を返します。 – kylemart

答えて

2

これは完全に正しい動作であり、心配する必要はありません。

ネイティブでコンパイルされた拡張機能を持つPythonパッケージは、インストールされている特定のPythonバージョンに関連付けられているため、共有しないでください。どのパッケージにネイティブ拡張が含まれるかを先験的に検出することはできないため、すべてバージョン固有の場所にPythonパッケージがインストールされています。

--userスイッチがUser Scheme locationにインストールされます。Pythonの2.6で

は、すべてのPythonディストリビューションは、ユーザーに固有のインストール場所の代替をサポートすることを意味し、"user scheme" for installationが来ました。各OSのデフォルトの場所は、site.USER_BASE変数のPythonドキュメントで説明されています。このインストールモードは、--userオプションをpip installに指定すると有効になります。

は、必ず実行してUSER_BASE場所を一覧表示することができます。

python3 -m site 

(あなたpipコマンドに結び付けと同じPythonのバイナリを使用して)。

Pythonモジュールの検索パスには自動的にユーザーの場所が含まれています。その場所はPythonのバージョン(major.minor)であるため、他のPythonのバージョンと干渉しません。

~/Library/Python/3.6/です。Mac OS Xframework buildがある場合は、特定のパスが使用されます。 PYTHONUSERBASE environment variableを設定すると、パスを上書きできます。

関連する問題