如何在不使用sudo的情况下安装Python包以避免权限拒绝

23 投票
2 回答
50356 浏览
提问于 2025-04-17 23:14

我想以用户 mike 的身份安装 Python 的 tesseract 包,这样我就可以使用 import tesseract 了。我正在按照这个指南操作:https://code.google.com/p/python-tesseract/wiki/HowToCompilePythonTesseractForCentos

但是,当我执行 python setup.py install 时,

我遇到了下面的错误:

    [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/test-easy-install-7351.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/local/lib/python2.7/site-packages/

我确实有 sudo 权限,但问题是:当我以 root 身份登录时,默认的 Python 版本是 2.6,而当我以 mike 身份登录时,默认的 Python 版本是 2.7(这是我想要的版本)。所以如果我执行 sudo python setup.py install,那么 tesseract 的安装就会在 2.6 上进行,而不是在 2.7 上。

在这种情况下我该怎么办呢?我需要改变 site-packages 文件夹的权限吗?我有点无计可施了……

2 个回答

3

也许你可以像普通用户那样输入这一行:

whereis python

假设结果是 "/usr/bin/python",那么:

sudo /usr/bin/python setup.py install
58

试试这个命令 python setup.py install --user

这个命令会把软件包安装到 /home/your_user/.local/lib/pythonX.X/site-packages/ 这个地方,而不是安装到 /usr/local/lib/,因为你在那个地方没有权限(除非你使用sudo)。

撰写回答