Ubuntu
安裝 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
作為755
普通使用者,如果沒有root
. 這正常嗎?
如果你想從原始碼安裝 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
可以更改為您想要的任何內容。但是如果你把這樣的 virtualenvs 放在一起,你可以很容易地創建一些腳本來自動更新任何pip
已安裝的包,定義別名等。