我想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
答案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
已安装的软件包、定义别名等。