没有 sudo 的 python setup.py 安装
Posted
技术标签:
【中文标题】没有 sudo 的 python setup.py 安装【英文标题】:python setup.py install without sudo 【发布时间】: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 的问题在于,当我尝试安装我的程序时,它的行为就像使用绝对路径一样,这让我感到困惑。但现在一切正常。 【参考方案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 解决了这个问题。以上是关于没有 sudo 的 python setup.py 安装的主要内容,如果未能解决你的问题,请参考以下文章
python setup.py bdist_wheel 报错的处理办法