SSDが故障しました。私のプロジェクトはすべてHDDに保存され(問題なくスムーズに実行されました)、もう1つのSSDを購入し、新しいOSをインストールしました(Manjaro、以前のOSはFedoraでした)。
私のプロジェクトのいくつかはpipグローバルパッケージを使用していたので、再インストールする必要がありました。ただし、「pip install package-name」と入力することはできません。
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/lib/python3.7/site-packages/Django-2.2.7.dist-info'
権限を確認すると、所有者がコンテンツを変更して実行できることがわかりますが、何が問題なのかわかりません。
また、私のディストリビューションにはpipとpythonがプリインストールされていますが、これは少し奇妙で期待どおりに動作しません。システムもほとんど新しいので壊れたことはないようです。
結局、私はvirtualenvに古いグローバルパッケージをインストールして問題を「修正」しました。インストールすることはできましたが(少なくともGoogleが言うように)、権限の欠如によるエラーのために使用できませんでした。
たとえば、libsassを「import sass」しようとすると、次のエラーが発生します。
ImportError: /mnt/data/Projects/Work/transport/venv/lib/python3.7/site-packages/_sass.cpython-37m-x86_64-linux-gnu.so: failed to map segment from shared object
同様の質問に対する回答では、/ tmpに権限がないと言われているので、/ tmpへの回答に従いましたが、何も変更されませんでした。ハードドライブの権限を777に設定してみましたが、まだ機能していません。
更新:明らかに.so pipパッケージでPythonプロジェクトを起動できません。彼らはすべて同じエラーを提供します:
failed to map segment from shared object
。
Upd2:わかりました。ハードドライブの権限に問題があるようです。たとえば、プロジェクトを自分のホームディレクトリまたはHDDの外部のどこにでもコピーすると、動作しますが、「共有オブジェクトからセグメントをマッピングできません」という状況は発生しません。また、プロジェクトディレクトリ(venvやこれらの.soを含むすべてのパッケージ)に対して777の権限を繰り返し設定しても、プロジェクトディレクトリがHDDに存在する場合、このエラーが発生して精神を失います。 sudo を使用しないと、pip パッケージをグローバルにインストールすることはできません。
答え1
この質問はとても独創的で、答える価値さえないと思います。実際、私のハードドライブは、新しいシステムにnoexecフラグを使用してインストールされました。これにより、これらすべての問題が発生します。