如何在没有 sudo 的情况下为 Python 安装包时避免权限被拒绝

2022-01-13 00:00:00 python tesseract python-tesseract centos

问题描述

我正在尝试以用户 mike 的身份安装 Python 的 tesseract 包装器,以便我可以 import tesseract.我在这里遵循指南 https://code.google.com/p/python-tesseract/wiki/HowToCompilePythonTesseractForCentos

I am trying to install the tesseract wrapper for python as user mike so that I can import tesseract. I'm following the guide here 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.

I do have sudo access but here is the problem: When I login as root the default python version is 2.6, however, when I login as mike the default python version is 2.7 (this is the one I want). So if I do sudo python setup.py install then the installation for tesseract is taking place on 2.6 rather than on 2.7.

在这种情况下我能做什么?我应该更改 site-packages 文件夹的权限吗?我有点没办法了……

What can I do in this scenario? Should I change permissions on the site-packages folder? I'm a bit out of options...


解决方案

试试 python setup.py install --user

这会将软件包安装到 /home/your_user/.local/lib/pythonX.X/site-packages/ 而不是 /usr/local/lib/您没有权限的地方(除非您使用 sudo).

This will install the package on /home/your_user/.local/lib/pythonX.X/site-packages/ instead of /usr/local/lib/ where you don't have permissions (unless you use sudo).

相关文章