Ubuntu:pip无法与python3.4一起使用
我在我的Ubuntu电脑上想让pip正常工作。pip在python2.7上似乎没问题,但在其他版本上就不行了。
这是我遇到的问题:
$ pip
Traceback (most recent call last):
File "/usr/local/bin/pip", line 9, in <module>
load_entry_point('pip==1.4.1', 'console_scripts', 'pip')()
File "/usr/local/lib/python3.4/dist-packages/setuptools-1.1.5-py3.4.egg /pkg_resources.py", line 357, in load_entry_point
def get_entry_info(dist, group, name):
File "/usr/local/lib/python3.4/dist-packages/setuptools-1.1.5-py3.4.egg/pkg_resources.py", line 2394, in load_entry_point
break
File "/usr/local/lib/python3.4/dist-packages/setuptools-1.1.5-py3.4.egg/pkg_resources.py", line 2108, in load
name = some.module:some.attr [extra1,extra2]
ImportError: No module named 'pip'
$ which pip
/usr/local/bin/pip
$ python2.7 -m pip //here can be just python, btw
Usage:
/usr/bin/python2.7 -m pip <command> [options]
//and so on...
$ python3.4 -m pip
/usr/bin/python3.4: No module named pip
从home/user/.pip/pip.log文件来看:
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1431, in install
requirement.uninstall(auto_confirm=True)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 598, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1836, in remove
renames(path, new_path)
File "/usr/lib/python2.7/dist-packages/pip/util.py", line 295, in renames
shutil.move(old, new)
File "/usr/lib/python2.7/shutil.py", line 303, in move
os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/bin/pip'
顺便说一下,/usr/bin/pip这个文件不存在。
我该怎么解决这个问题,让pip和python 3.4正常工作呢?我正在尝试使用pycharm,但它的包管理器也遇到了同样的问题。
谢谢关注!
4 个回答
我在我的树莓派上运行这个命令时遇到了类似的问题。
python3.4 -m pip install RPi.GPIO
然后出现了这个错误。
/usr/bin/python3.4: No module named pip
我通过安装 python3-pip 来解决这个问题。
sudo apt-get install python3-pip
在我的Ubuntu 19.04上,这个方法有效:
sudo apt install python3-pip
然后可以用 pip3
或者 python3 -m pip
来安装Python的包。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
确认它是否安装成功:
pip3 --version
或者
python3 -m pip --version
现在可以开始安装你想要的包(比如 numpy
)使用:
pip3 install numpy
或者
python3 -m pip install numpy
你已经为 Python 2 安装了 pip,但 Python 3 没有。
在 Ubuntu 系统中,有一些软件包可以安装,比如 python-pip
、python3-pip
、python-setuptools
和 python3-setuptools
,你可以根据需要用 apt-get install
等命令来安装它们。之后要注意,pip
是用来为 Python 2 安装的,而 pip3
是为 Python 3 安装的(这和 python
和 python3
是一样的道理)。
Setuptools 可以理解为提供 Python 包的“构建”过程,而 Pip 则提供“安装”过程。通常你会希望这两个工具都能用。
如果你想要最新版本的 pip 和 setuptools,可以从 PyPA 的引导网站获取:
$ curl https://bootstrap.pypa.io/get-pip.py | python3.4
之后你可以为相应的 Python 安装最新的 setuptools,例如:
$ python{2.7,3.4} -m pip install -U setuptools
如果你尝试为系统的 Python 安装这些工具,可能需要使用管理员权限,也就是 sudo
。