pipパッケージをローカルではなくグローバルにインストールするにはどうすればよいですか?


101

pip3を使用してflake8パッケージをインストールしようとしていますが、すでに1つのローカルロケーションにインストールされているため、インストールを拒否しているようです。

グローバルに(システムレベルで)インストールするように強制するにはどうすればよいですか?

pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages

自分で宛先を指定したくないので、どのプラットフォームでも使用できる汎用ソリューション(Debian、OS X、場合によってはWindowsでも機能するはずです)を好むことに注意してください。

いくつかの奇妙な理由で、私がすでに指定し--userたように動作しますが、私の場合は指定しませんでした。

パッケージをグローバルにインストールする唯一の方法は、最初にパッケージを削除してから、この後に再度インストールすることでした。どういうわけか、pip(8.1.1)は、パッケージがローカルに存在する場合、グローバルにインストールすることを拒否しているようです。

免責事項:実験中に仮想環境が使用されたり、害を受けたりしたことはありません。


3
rootユーザーまたはsudoから試しましたか?
matino 2016

試しましたpip install flake8 --upgradeか?
マウロバラルディ2016

仮想環境(venv)の使用に関連する同様の問題の場合は、--system-site-packagesオプションを使用して、グローバルにインストールされたパッケージをvenvに継承します。stackoverflow.com/a/61326709/4445175
Wlad 2010

回答:


143

旗をsudo持ってみませんHか?これでうまくいくはずです。

sudo -H pip install flake8

常連sudo pip install flake8はあなた自身のホームディレクトリを使おうとします。-Hシステムのホームディレクトリを使用するように指示します。https://stackoverflow.com/a/43623102/で詳細をご覧ください


105
HHlobalのように?
マット

65
-H以下のようにsudoのねえ、私のホームディレクトリを使用して停止します。使用し、独自のH青梅ディレクトリの代わりに stackoverflow.com/a/43623102
nikhilweee

7
これは本当に世界的にそれをインストールし、代わりに、単にユーザー「ルート」のホームディレクトリに保存するようではありません
parsecpython

@nikhilweee pip3 install ipythonvirtualenvが非アクティブ化されたときとどう違うのかわかりませんが、同じsite-packagesディレクトリにインストールされているようです。
iamfrancisyo

私にとって@parsecpythonそれはトリックを行い、私はそれらを意味/usr/local/lib/python3.8/dist-packagesにパッケージをインストールする
ヨタ

8

たぶん--force-reinstallうまくいくでしょう、そうでなけれ--ignore-installedばトリックをするべきです。


4

使用していvirtualenvますか?はいの場合、virtualenvを非アクティブ化します。使用していない場合は、すでに広くインストールされています(システムレベル)。パッケージをアップグレードしてみてください。

pip install flake8 --upgrade

3
完全に真実ではありません。
GMaster 2017年

2

私は実際にあなたの問題を見ていません。グローバルには、python3パスのサイトパッケージフォルダーにあるすべてのパッケージです。

ローカルでのみ使用する場合は、virtualenvを構成し、アクティブ化された仮想環境でパッケージを再インストールする必要があります。


venvを作成するときに、--system-site-packages .venv/devグローバルパッケージを継承するために使用できるため、各venvに再インストールする必要はありません。これは、どのプロジェクトでも使用したいパッケージ、つまりblack、flake8、pytestに適しています。例:python -m venv --system-site-packages .venv/dev
Wlad 2010

0

Pythonではpipのインストールはどこで行われますか?

私が直面していて、解決するのに時間がかかったWindowsソリューションを提供します。

まず、Windows(ここではWindowsをOSとして使用します)では、そうするとpip install <package_name>、デフォルトでグローバルにインストールされます(仮想環境をアクティブにしていない場合)。仮想環境をアクティブ化してその中に入ると、すべてのpipインストールがその仮想環境内になります。


pipは上記のパッケージをインストールしていますが、使用できませんか?

このPIPはあなたにピップの実行が好きという警告を与えるかもしれないためにpip3.exepip.exeあなたのパス変数ではありません。このために、このパス(通常は- C:\Users\<your_username>\AppData\Roaming\Programs\Python\)を環境変数に追加できます。この後、を再起動し、cmdインストールされているpythonパッケージを使用してみてください。これで動作するはずです。

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