【问题标题】:python setup.py install without sudo没有 sudo 的 python setup.py 安装
【发布时间】:2017-09-30 12:24:41
【问题描述】:

我有一个具有某种结构的项目,它是控制台脚本。该项目有 setup.py 文件。

我只想在不使用 sudo 的情况下以任何方式安装我的包。 我花了大约 10 个小时浏览互联网,但找不到有效的解决方案。

我不断收到错误:[Errno 13] Permission denied: 'srm.egg-info/PKG-INFO' if using virtualenv

并获得 [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/test-easy-install-27105.write-test'

使用 sudo 效果很好(但是卸载有问题,并且仍然无法使用 virtualenv)

使用:Ubuntu 14.04、Python 2.7,

【问题讨论】:

  • virtualenv 有什么问题?你可以解释吗?你如何使用它?激活了吗?哪个版本的 pip(和 setuptools)?
  • 我已经了解了问题的根源,在下面的答案部分添加了它。 virtualenv 的问题在于,当我尝试安装我的程序时,它的行为就像使用绝对路径一样,这让我感到困惑。但现在一切正常。

标签: python ubuntu pip permission-denied setup.py


【解决方案1】:

好吧,所以我搞砸了这么多:

使用 sudo 后,在我的 setup.py 位置创建了包文件,并且它们有锁图标(系统文件因为 sudo),没有 sudo 我无法再安装程序。

我的解决方案是 sudo rm -r 之前在程序目录和 python 目录附近创建的所有锁定文件,然后使用 --user 或 virtualenv 安装我的程序而不使用 sudo。

【讨论】:

  • 如此简单,我做了完全相同的事情。您刚刚为我节省了大量时间 - 谢谢!
【解决方案2】:

使用参数 --user 指定你的主目录:

python setup.py install --user

【讨论】:

  • 我已经试过了。它给出了同样的错误:错误:[Errno 13] Permission denied: 'srm.egg-info/PKG-INFO'
  • 这对我有用。我无法使用 python (python setup.py install) 从源代码安装 xgboost,因为 python 脚本没有创建文件夹的权限。如果我尝试使用 sudo 安装,python 会返回 ImportError: No module named setuptools,即使我已经安装了 setuptools。指定标志 --user 并在没有 sudo 的情况下运行 install 解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 2015-03-05
  • 2023-03-17
  • 2022-07-07
  • 1970-01-01
相关资源
最近更新 更多