Pythonモジュールのインストール時のファイル権限

Pythonモジュールのインストール時のファイル権限

ソースからインストールしたいsphinx-docので、git cloneモジュールを使用してsudo python setup.py install

Using /usr/local/lib/python2.7/dist-packages/pytz-2016.4-py2.7.egg
Searching for MarkupSafe==0.23
Best match: MarkupSafe 0.23
Removing MarkupSafe 0.18 from easy-install.pth file
Adding MarkupSafe 0.23 to easy-install.pth file

Using /usr/local/lib/python2.7/dist-packages
Finished processing dependencies for Sphinx==1.4b1.dev-20160423

それからそれを使う権限がないことに気づきました。

$ sphinx-quickstart
bash: /usr/local/bin/sphinx-quickstart: Permission denied
$ ls -al /usr/local/bin/sphinx-quickstart 
-rwxr-x--- 1 root root 357 Apr 23 16:56 /usr/local/bin/sphinx-quickstart

問題は正しい権限でどのようにインストールしますか?

sudoを使用してフォルダを作成したり、/mediaにドライブをマウントする必要がある場合、この種の問題が頻繁に発生します。これは少し外れたトピックです。ただし、通常のユーザーとして、マイコンピュータにマイドライブをマウントすることはできません/media。これは正常ですか?755root

ベストアンサー1

ソースからPythonパッケージをインストールするには、virtualenvからインストールする必要があります。これにより、システムのPythonが破損する可能性が最小限に抑えられ、あまりにも多くのパッケージを削除することを心配することなく、インストールされているパッケージのみを削除できます。

これを行うには、まずvirtualenvをインストールする必要があります。

 sudo apt-get install python-virtualenv

インストールが完了したら、どこかに virtualenv を作成して有効にします。

 sudo mkdir /opt/util
 sudo chown $USER /opt/util
 virtualenv /opt/util/sphinx-doc
 source /opt/util/sphinx-doc/bin/activate

その後実行

 python setup.py install

git複製されたディレクトリではsudo

virtualenvが有効になっている間は、すべてのsphinx-doc(他の)ユーティリティを実行または作成できますpython setup.py install。有効になっていない場合は、以下を使用してvirtualenvを/opt/util/sphinx-doc/bin/<UTILNAME>実行することもできます(エイリアスを生成することもできます)。

/opt/util/sphinx-doc好きなものを変更できます。ただし、これらの virtualenv を一緒に使用すると、インストールされたpipパッケージを自動的に更新し、エイリアスを定義するなど、いくつかのスクリプトを簡単に作成できます。

おすすめ記事