Ubuntu: пип не работает с python3.4

Попытка заставить pip работать на моем компьютере Ubuntu. 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 btw.

Как я могу исправить эту проблему, чтобы нормально работать с pip и python 3.4? Я пытаюсь использовать pycharm, но менеджер пакетов также справляется с этой проблемой.

Спасибо за внимание!

Ответ 1

У вас есть pip, установленный для python 2, но не 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

Затем вы можете установить последние setuptools для соответствующего python, например

$ python{2.7,3.4} -m pip install -U setuptools

Если вы попытаетесь установить их для системного python, вам может понадобиться root/ sudo.

Ответ 2

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

Вот ссылка: https://pip.pypa.io/en/stable/installing/

Ответ 3

У меня была похожая проблема при запуске этой команды на моем Raspberry Pi

python3.4 -m pip install RPi.GPIO

и получил эту ошибку

/usr/bin/python3.4: No module named pip

решил это, установив python3-pip

sudo apt-get install python3-pip

Ответ 4

Это сработало на моем Ubuntu 19.04:

sudo apt install python3-pip

Затем pip3 или python3 -m pip для установки пакетов Python.