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.