pip / python:通常のサイトパッケージは書き込み不可


11

私は新しいMacbookを持っています-ユーザーがそれをインストールしてから、新しいユーザー(私の物)をインストールし、管理者権限を付与し、古いユーザーを削除しました。私はOSカタリナを使用しています。

インストール以来、私はいくつかの許可の問題を抱えてきました。VSCodeはJupyter Notebookを見つけられません。pipパッケージをにインストールします~/Library/Python/3.7/site-packages

私がするとき私はwhich python3得るusr/bin/python3。私はときpip3 install <package>私が得る:Defaulting to user installation because normal site-packages is not writeableそして、それは私が行うとき、私はそれにアクセスすることができないにもかかわらず、それがすでにインストールされていると言いますimport <package>

これは権限の問題でありpip、「ベース」のpythonにインストールpythonできないこと、そして私がにインストールしたものを見つけられないことは明らか~/Library/Python/3.7/site-packagesです。

OSの再インストールを試みましたが、クリーンインストールを行っていないため、何も変わりません。何が欠けていますか?権限をどのように正確に修正できますか?パッケージをどこにインストールしますvenvか(確かに、一部のパッケージはグローバルにしたいです(などjupyter))。

ありがとう


私もこの問題を抱えています。Python 2.7のサポートの終了に関係があるのでしょうか
Chris Dutrow

私も同じ問題を抱えています
Mahyar Maleki

1
正しいものを使用していますpipか?より安全なものを使用するとどうなりますpython -m pip install ....か?
Tom de Geus

@TomdeGeus:ええと、python3 -m pip install ...この場合ですが、そうです、Pythonの複数のバージョンが関係している場合pip、「exec module」アプローチを介して呼び出す方がはるかに安全であるため、予想されるPython実行可能ファイルを使用していることがわかります。
ShadowRanger

これを修正するために、私はpython3(以前はbrewでインストールされていました)をアンインストールし、pyenvを使用してpython3をインストールしました。今ではすべてうまくいきます。このガイドに従ってください:opensource.com/article/19/5/python-3-default-mac(最後のセクションにスキップ)
Arseny Levin

回答:


2

システム提供のPythonを直接使用しないことをお勧めします。あなたが経験したように、OSがそれを望ましくない方法で変更する可能性があるので、それをそのままにしておきます。

ベストプラクティスは、独自のPythonバージョンを構成し、virtualenv(Python 2の場合)またはvenv(Python 3の場合)を使用してプロジェクトごとにそれらを管理することです。これにより、システムが提供するPythonバージョンへのすべての依存関係がなくなり、各プロジェクトがマシン上の他のプロジェクトから分離されます。

各プロジェクトは、必要に応じて異なるPythonポイントバージョンを持つことができ、独自のsite_packagesディレクトリを取得するため、pipでインストールされたライブラリもプロジェクトごとに異なるバージョンを持つことができます。このアプローチは主要な問題解決者です。


0

Debian 9.12の新規インストールで同じ問題が発生しました。サーバーを再起動すると問題が解決しました。

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