【问题标题】:how to avoid Permission denied while installing package for Python without sudo如何在没有 sudo 的情况下为 Python 安装包时避免权限被拒绝
【发布时间】:2014-04-28 09:20:59
【问题描述】:

我正在尝试以用户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 文件夹的权限吗?我有点没办法了……

【问题讨论】:

标签: python centos tesseract python-tesseract


【解决方案1】:

试试python setup.py install --user

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

【讨论】:

  • 这让我克服了困难,但还没有完全做到。现在我收到此错误error: could not create 'build/bdist.linux-x86_64/egg': Permission denied
  • 可能是因为您已经以 root 身份构建了包。你需要chown为自己构建目录。或者删除它并重新编译。
  • @是否会在用户空间从源代码安装模块(setup.py 由模块作者提供)
  • 对我有用 .. 它在 /home/user/.local/ 中安装了所有包 .. 太棒了!谢谢
【解决方案2】:

也许您可以以普通用户的身份输入此行:

whereis python

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

sudo /usr/bin/python setup.py install

【讨论】:

  • python2.7 找不到 sudo
  • 是否以普通用户身份找到“python2.7”?试试“whereis python”找到2.7版本怎么样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 1970-01-01
  • 2018-08-19
相关资源
最近更新 更多