使用npm已经有一段时间了,我很难理解为什么pip3(即:pip with Python 3)在管理权限方面如此顽固。
到目前为止,我一直在使用pip3和sudo,因为我是唯一一个使用这台电脑的人,我不介意全球安装包
今天我想安装pep8
包,并在没有sudo的情况下在本地使用它。 pep8可以被IDE使用,如果没有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
文件夹中
简而言之,有没有办法在Python3中使用pip在本地安装软件包?
答案 0 :(得分:0)
在控制台中启动您要为其安装软件包的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