これはこの質問と同じですが、タイトルが間違っています。そして、症状はこの post で説明されているよりもいやらしい。
Ubuntu 14.04から16.04へのアップグレード-Penvは、venvが非アクティブ化されている場合でも、アクティブな仮想環境にインストールされているパッケージを表示します。
さらに、パッケージpipをインストールすると、次のエラーがスローされます。
The directory '/home/user/.cache/pip/http' or its parent directory is
not owned by the current user and the cache has been disabled. Please
check the permissions and owner of that directory. If executing pip
with Sudo, you may want Sudo's -H flag. The directory
'/home/user/.cache/pip' or its parent directory is not owned by the
current user and caching wheels has been disabled. check the
permissions and owner of that directory. If executing pip with Sudo,
you may want Sudo's -H flag.
pip install <package_name>
を実行すると、アクセス権エラーも発生します。pip install --user <package_name>
でこれを回避できます。また、Sudoは-H
オプションを使用した場合にのみ上記のように機能します。
このエラーに関する洞察または可能な修正は素晴らしいでしょう!前もって感謝します!
エド
私は問題の答えを見つけました。これは、VirtualenvがSudoとともにインストールされ、pip/.cacheファイルがユーザーによって所有されているために発生します。いくつかのパッケージでは、Sudoへのアクセスが必要になります。以下は、問題と参照に関する情報です。このエラーの説明の下に馬鹿ガイドを追加しました。
詳細はこちらをご覧ください https://pip.pypa.io/en/stable/user_guide/#user-installs 。
私の修正
〜/ user/.cache内のすべてのプロジェクトパッケージを削除しました。 「間違って」pip uninstall -r <path_to_project_requirements.txt>
(必要に応じてN.B.でSudoをプレフィックス)をインストールした場所。
Virtualenv Sudo pip uninstall virtualenv
を削除しました
pip --user install virtualenv
を使用してvirtualenvをインストールします。これにより所有権の問題が停止します。また、Sudoを使用してグローバルにインストールする必要がないようにします。virtualenvラッパーも使用できます。
プロジェクトディレクトリを作成します:mkdir <project>
そしてそこに移動しますcd project
。
virtualenv venv
ローカル環境フォルダーを作成して、パッケージを. venv/bin/activate
にインストールします
プロジェクト要件のインストールを続行します。