Я хочу установить Scipy (уже установлена Numpy). У меня установлен Python 3.5.1-3 с ОС и IDLE3 (3.5.2). Когда я ударил в терминале
sudo pip3 install scipy
Распечатывает
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
Я уже пытался переустановить pip3 и перезагрузить ОС, но это не изменилось. Pip3 странно работал с кем-то еще?
Используйте
python -m pip install
вместоpip install
Пример:
Я начал получать эту проблему после
pip
обновления:pip
(Соотв.pip3
) Исполняемым предоставляется вашим дистрибутивом (python-pip
пакет на Ubuntu 16.04).Следовательно, он не обновляется с
pip
самим пакетом при обновлении pip и может сломаться.Если вы просто используете
python -m pip
напрямую, например, как в:он проходит по пути Python, находит последнюю версию pip и выполняет этот файл.
Он основан на том факте, что этот файл является исполняемым, но это очень стандартный тип интерфейса, и поэтому он менее подвержен поломке, чем хакерский скрипт Debian.
Тогда я рекомендую добавить следующие псевдонимы к вашему
.bashrc
:/usr/bin/pip3
Файл Ubuntu 18.04 делает:и, вероятно,
main
был удаленpip
в какой-то момент, который сломал вещи.Разрывная фиксация в пипсах выглядит следующим образом: 95bcf8c5f6394298035a7332c441868f3b0169f4 «Переместить все внутренние API в pip._internal», которая вошла в пип 18.0.
Протестировано в Ubuntu 16.04 после обновления с
pip3
9.0.1 до 18.0.pyenv
В конечном счете, однако, для серьезной разработки Python я бы порекомендовал вам установить свой собственный локальный Python с помощью pyenv + virtualenv, что также поможет обойти эту ошибку Ubuntu: как мне установить другую версию Python с помощью apt-get?
источник
/usr/bin/pip
он предоставляется пакетом Ubuntu Python иpip
не перезаписывает его. Ноpip update
он управляетсяpip
сам по себе и не затрагивает файлы Ubuntu.Debian
- Комментарий гласит:Run the main entry point, similarly to how setuptools does it, but because we didn't install the actual entry point from setup.py, don't use the pkg_resources API.
Возможно, есть способ правильно установить Python на языке Python./usr/bin/pip
делает :-)Ошибка найдена в пипе 10.0.0.
В Linux вам нужно изменить файл: / usr / bin / pip из:
к этому:
источник
pip
команде.У меня была такая же проблема, но удалить и переустановить с помощью apt и pip у меня не получилось.
Я видел другое решение, которое представляет простой способ восстановить путь pip3:
источник
Хотя karel, возможно, решил вашу проблему «install numpy and scipy», что не так с pip в вашей системе, не было решено, так что у вас, вероятно, будет больше проблем с pip в будущем.
Глядя здесь , это, кажется, довольно распространенная недавняя проблема с pip 10 в системах Ubuntu. Вы можете найти обходные пути для этого потока, которые подойдут вам, но, надеюсь, обновление исправит это в ближайшее время.
источник
Установка pip как из apt, так и из самого pip может привести к этому.
В моем случае я использовал пакет pip в Ubuntu для установки pipenv, который затем установил более новую копию pip. Теперь, когда моя оболочка выполняет скрипт pip 9 в Ubuntu (для проверки запуска
which pip3
), а мой интерпретатор Python импортирует модуль pip 10, команда pip3 завершается неудачно. Поэтому я хочу удалить один из двух.Справедливо предположить, что у вас есть более новый пункт по причине. В этом случае вы хотите удалить старый пункт следующим образом:
sudo apt remove python3-pip
Если вы точно знаете, что у вас все в порядке со старым пипом и предпочитаете системный пакет, вам нужно удалить более новый:
~/.local/bin/pip3 uninstall pip
или что
sudo /usr/local/bin/pip3 uninstall pip
источник
тип
Это должно удалить эту ошибку
источник
Принудительная переустановка pip прекрасно работает для большинства пользователей, как показано на этой странице github:
источник
Моя проблема закончилась несоответствием между python3.6 и 3.7. Установка python3.6 вставила ссылку,
/usr/bin/python3 -> /usr/bin/python3.6
хотя система была обновлена до python3.7.источник
Это сработало для меня:
К
install --upgrade
, я имею в виду то , что вы пытаетесь установить.источник