【问题标题】:Install pip3 package locally本地安装 pip3 包
【发布时间】:2015-08-31 21:41:08
【问题描述】:

在使用 npm 一段时间后,我很难理解为什么 pip3(即:使用 Python 3 的 pip)在管理权限方面如此顽固。

到目前为止,我一直在使用 pip3 和 sudo,因为我是唯一使用这台计算机的人,我不介意全局安装软件包

今天我想安装pep8 包并在本地使用它而不需要sudo。 IDE 可以使用 pep8,如果没有 sudo,他们将无法使用它。因此,我想运行

pip3 install --user pep8

但是,如果没有 sudo,命令将无法工作。控制台抛出带有 PermissionError 的回溯:

PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.4/site-packages/pip/__init__.py'

如果使用 sudo 运行,从逻辑上讲,pep8 安装在 /root

在 2.7 中,解决方法是卸载 pip,然后使用 --user 在本地重新安装。不过,目前我无法卸载 pip3。至少在 Fedora 22 中,依赖关系似乎非常紧密。我的猜测是 pip3 与 3.4 捆绑在一起,这让事情变得更糟。

所以,运行

python3 get-pip.py --user

给出一个权限错误,因为该脚本查看当前的 pip3 安装。如果我使用 sudo 运行命令,--user 可以工作(我相信它仍处于测试模式?)但从逻辑上讲,它将它安装在 /root 文件夹中

简而言之,有没有办法使用pip配合Python3在本地安装包?

【问题讨论】:

  • However, command doesn't work without sudo. - 你可能想在这里更具体。
  • pip3 install --user pep8 适合我。 pip 想为你安装--user 安装在哪里?
  • 刚刚更新了我的问题,如果我在没有 sudo 的情况下运行 pip3 会出现 PermissionError
  • "如果使用 sudo 运行,从逻辑上讲,pep8 安装在 /root 中"。它不应该:它应该在使用 sudo 运行时将其安装在 /usr/lib/python3.4/site-packages 中;不在/root
  • “真正的”权限被拒绝似乎是 command pip3 无法读取 /usr/lib/python3.4/site-packages/pip/__init__.py 的事实。失败的不是安装部分,而是执行部分。不知何故,您设法以普通用户无法读取该目录的方式安装了pip。检查您对站点包目录和子目录的权限,并相应地更改它们。相关问题:您第一次是如何安装pip3 的?

标签: python-3.x pip python-3.4


【解决方案1】:

在控制台中启动您要为其安装软件包的 python 版本。 使用您希望安装它的权限运行 python。 Python 3,在这种情况下没有 sudo

python3

感谢在python实例中安装你想要的包。

import pip

#Ininstall the package
#This is the path to the setup and unzipped package. Path to the folder with setup.py.
path_to_setup = "/usr/lib/python3.4/site-packages/pep8"
#finelly runs the installation
pip.main (['install', path_to_setup])
#You will see some data processed.
#Now test it. In this case the package is pep8
import pep8

【讨论】:

    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 2017-04-11
    • 2021-01-30
    • 2019-05-09
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多