【问题标题】:Simple way to install a setuptools python module without root access?在没有 root 访问权限的情况下安装 setuptools python 模块的简单方法?
【发布时间】:2015-05-23 17:20:02
【问题描述】:

假设我有一个带有正确 setup.py 的 python 模块,我想将其安装给我自己的用户。

然而,一个简单的安装会失败,因为它试图在我的系统上全局安装

% python setup.py install
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying src/somemodule.py -> build/lib.linux-x86_64-2.7
running install_lib
copying build/lib.linux-x86_64-2.7/somemodule.py -> /usr/local/lib/python2.7/dist-packages
error: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/somemodule.py'

我有这台机器的 root 访问权限。这不是重点。

有没有办法使用 setuptools 进行安装(例如,作为用户特定的站点包)。我不是在寻找 virtualenv 也不是 python setup.py build,而是在寻找与 pip 一样的东西

% pip install --user somemodule.py 

【问题讨论】:

    标签: python setuptools


    【解决方案1】:

    使用--prefix 选项,例如:

    python setup.py install --prefix ~/.local
    

    编辑: 这类似于使用--user,它自动使用用户特定的站点包(根据PEP 370 在*nix 上定义为~/.local)。

    【讨论】:

    • 谢谢。我没有查看install --help(仅在--help--help-commands 上)而错过了这一点。
    • 我必须补充一点,我发现--user 是一个更合适的选择,因为它会自动为用户使用默认的站点包。
    • 我完全忘记了那个。我将其添加到答案中。谢谢。
    猜你喜欢
    • 2011-11-19
    • 2019-12-21
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2011-04-13
    • 1970-01-01
    • 2013-02-23
    相关资源
    最近更新 更多