Pipとpythonをインストールしている間、私は次のようなことに遭遇しました。
ディレクトリ '/ Users/Parthenon/Library/Logs/pi'またはその親ディレクトリは現在のユーザーが所有していないため、デバッグログは無効になっています。そのディレクトリの権限と所有者を確認してください。 Sudoでpipを実行しているなら、-Hフラグが必要かもしれません。
なぜなら私は今Sudo
を使ってインストールしなければならないからです。
私は私のMacにpythonと一握りのライブラリを既にインストールしていました、私はYosemiteを実行しています。私は最近きれいなワイプをしてからOSを再インストールしなければなりませんでした。今、私はこのプロンプトを得ています、そしてそれを変更する方法を考え出すのに苦労しています
私のコマンドラインがParthenon$
になる前は、今はPhilips-MBP:~ Parthenon$
です
私はこのコンピュータの唯一の所有者であり、これが唯一のアカウントです。これはpython 3.4へのアップグレード時に問題になるようです。正しい場所には何もないようです、virtualenvは私が期待するところに行きません、など.
'pip'の実行から 'Sudo pip'に移行したときにも、この変更が私のMacで見られました。
Sudoに '-H'を追加するとメッセージが消えます。例えば。
Sudo -H pip install foo
'man Sudo'は、 ' - H'によってSudoが$ HOMEをターゲットユーザー(この場合はroot)に設定するように指示します。
そのため、pipは$ HOME/Library/Logを調べており、SudoはデフォルトでHOMEを〜rootに設定していないようです。当然ですが〜/ Library/Logはrootではなくユーザーとしてあなたが所有しています。
これは最近のpipの変更であると思います。回避策として、「Sudo -H」を付けて実行します。
pip install --user <package name>
(Sudoは必要ありません)は非常によく似た問題を解決してくれました。
ここでの問題は、あなたがどういうわけかSudo
を使ってvirtualenvにインストールしたということです。おそらく偶然です。これは、root
ユーザーがPythonパッケージデータを書き換えて、すべてのファイルをrootが所有するようにし、通常のユーザーがそれらのファイルを書き込めなくなることを意味します。通常virtualenvは通常のUNIXユーザーだけが使用し所有するべきです。
あなたはあなたのユーザーにUNIXファイルパーミッションパックを変更することによって問題を解決することができます。試してください:
$ Sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip
$ Sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip
pip
はそれらのファイルを再び書くことができるはずです。
Sudo dscl . -append /Groups/wheel wheel $(whoami)
chmod -R 775 ${this_is_your_python_package_path}
pip3 install requests
を使用しようとしました、そして得ました:File "/usr/local/python3/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied:
'/usr/local/python3/lib/python3.6/site-packages/requests'
cd /usr/local/python3/lib/python3.6/site-packages
、次にls -al
そして得た:drwxr-xr-x 6 root wheel 192B 2 27 18:06 requests/
これを見たとき、私は理解しました、makedirsは書き込みのアクションですが、リクエストモードdrwxrwxr-x
はユーザーrootだけが置き換え、リクエストファイルを書き込めます。グループホイールにyutou(whoami
)を追加し、グループホイールにパッケージを変更することができる場合、私は書くことができ、問題は解決しました。
グループホイールにyutouを追加するにはどうすればいいですか? +グループホイールSudo dscl . -list /groups GroupMembership
を検出します。
wheel root
グループは1つのメンバルートのみを処理します。 +グループホイールにyutouを追加、Sudo dscl . -append /Groups/wheel wheel yutou
。 +チェック、Sudo dscl . -list /groups GroupMembership
:
wheel root yutou
pythonパッケージモードを変更する
chmod -R 775 /usr/local/python3/lib/python3.6
$ PATH変数を変更した場合、問題も発生する可能性があります。それが問題だと思われる場合は、〜/ .bash_profileまたは〜/ .bashrcを確認してください