Ubuntu 16.04中使用pip3和sudo权限问题

Ubuntu 16.04中使用pip3和sudo权限问题

我有Python3Python2以及各种 Python 版本包pippip3安装。

我想安装一个珠海市Python 2 和 3 中的库,我在 python2 中也使用以下行进行了此操作:

sudo pip install zmq

但是当我pip3使用珠海市在Python3上安装我遇到了一个问题:

$ pip3 install zmq
Collecting zmq
Collecting pyzmq (from zmq)
  Using cached https://files.pythonhosted.org/packages/94/e8/6b39ec62b4f7821eeefd69e0c1ddfd56744cd6613f8216fc972cfc8d7765/pyzmq-17.1.0-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: pyzmq, zmq
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/zmq'
Consider using the `--user` option or check the permissions.

然后当我之前使用 sudo 时pip3

$ sudo pip3 install zmq
sudo: pip3: command not found

[笔记]:

$ pip --version
pip 18.0 from /home/benyamin/.local/lib/python3.6/site-packages/pip (python 3.6)

$ pip3 --version
pip 18.0 from /home/benyamin/.local/lib/python3.6/site-packages/pip (python 3.6)

$ which pip
/home/benyamin/.local/bin/pip

$ which pip3
/home/benyamin/.local/bin/pip3

$ sudo which pip
/usr/local/bin/pip

$ sudo which pip3
$ # no output

看来我的pip是针对Python3.6的!


任何帮助将不胜感激。

答案1

首先删除本地pip

/home/benyamin/.local/bin/pip3 uninstall pip

使用以下方式安装apt

sudo apt install python3-pip

或者对于“python2”:

sudo apt install python-pip

然后运行:

sudo pip3 install zmq

您还可以pip使用以下方式更新:

sudo pip3 install pip --upgrade

替代解决方案是创建别名:

alias pip3='sudo /home/benyamin/.local/bin/pip3'

答案2

打开终端并输入:

sudo apt install python3-pip   
sudo -H pip3 install --upgrade pip  

创建一个符号链接,在/home/benyamin/.local/bin/pip3其中引用文件/usr/local/bin/pip3

cd /home/benyamin/.local/bin/
rm pip3
sudo ln -s /usr/local/bin/pip3 /home/benyamin/.local/bin/pip3

检查pip3可执行文件的位置和pip3版本。

which pip3  
pip3 --version  

安装 zmq。

python3 -m pip install --user zmq

相关内容