Я не знаю, в чем дело, но я застрял после некоторых решений stackoverflow, которые ни к чему не приводят. Не могли бы вы мне помочь?
Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
/tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 181kB/s
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip-1.4.1:
Successfully uninstalled pip-1.4.1
Successfully installed pip-7.1.0
Monas-MacBook-Pro:CS764 mona$ pip --version
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
python
macos
installation
pip
osx-mavericks
Мона Джалал
источник
источник
pip3 install --upgrade pip
как указал @Excalibur в комментариях ниже.Я предполагаю, что у вас есть две установки python или две установки pip, одна из которых была частично удалена.
Почему вы используете
sudo
? В идеале вы должны иметь возможность устанавливать и запускать все из своей учетной записи вместо использования root. Если вы смешиваете вместе корневую и локальную учетную запись, у вас больше шансов столкнуться с проблемами с разрешениями (например, см. Предупреждение о том, что «родительский каталог не принадлежит текущему пользователю»).Что вы получите, если запустите это?
Это покажет вам, какой двоичный файл python
pip
пытается использовать. Если он указывает/usr/local/opt/python/bin/python2.7
, попробуйте запустить это:$ ls -al /usr/local/opt/python/bin/python2.7
Если это говорит «Нет такого файла или каталога», то pip пытается использовать двоичный файл python, который был удален.
Далее попробуйте это:
$ which python $ which python2.7
Чтобы увидеть путь к реально работающему двоичному файлу python.
Поскольку похоже, что pip где-то был успешно установлен, это может быть
/usr/local/bin/pip
частью более старой установки pip, которая находится выше наPATH
. Чтобы проверить это, вы можете попробовать убрать нефункционирующийpip
двоичный файл с пути следующим образом (может потребоватьсяsudo
):Затем попробуйте
pip --version
снова запустить вашу команду. Надеюсь, он подберет правильную версию и будет успешно работать.источник
sudo /usr/bin/easy_install pip
- Нашел здесь: stackoverflow.com/questions/27308234/…Единственное решение в OSX и его варианте.
ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
источник
Крепежный пип
Для этой ошибки:
~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
Источником этой проблемы является неправильный путь Python, жестко запрограммированный в pip (что означает, что он не будет исправлен, например, путем изменения вашего $ PATH). Этот путь больше не жестко запрограммирован в последней версии pip, поэтому решение, которое должно работать:
Но, конечно, эта команда использует pip, поэтому она не работает с той же ошибкой.
Как выбраться из этого беспорядка:
which pip
#!/usr/local/opt/python/bin/python2.7
на, например,#!/usr/local/opt/python2/bin/python2.7
(обратите внимание на python2 в пути) или любой путь к работающему интерпретатору python на вашем компьютере.pip install --upgrade pip
(это перезаписывает ваш хак и заставляет pip работать в последней версии, где проблема интерпретатора должна быть исправлена)Исправление virtualenv
Для меня я обнаружил эту проблему, сначала столкнувшись с идентичной проблемой с virtualenv:
~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
Решение здесь - запустить
Если выполнение этой команды дает ту же ошибку из pip, см. Выше.
источник
pip3 install --upgrade pip
)Я сделал ту же ошибку, используя sudo для своей установки. (ой)
Это вернуло все в норму.
источник
Поскольку на Mac OSX были установлены как Python 2, так и Python 3, у меня возникали всевозможные ошибки.
Я использовал это, чтобы найти местоположение моего файла python2.7 (/usr/local/bin/python2.7)
which python2.7
Затем я связал свое настоящее место установки python2.7 с тем, которое ожидал скрипт:
ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
источник
У меня была аналогичная проблема. В основном pip искал неправильный путь (старый путь установки) или python. У меня сработало следующее решение:
which python
)/usr/local/bin/pip2.7
и/usr/local/bin/pip
). В строке должен быть указан правильный путь к пути Python. В моем случае - нет. Я поправил и теперь работает нормально.источник
В случае, если это кому-то поможет, решение, упомянутое в этом другом вопросе, сработало для меня, когда pip перестал работать сегодня после его обновления: Pip сломан после обновления
Похоже, что это проблема, когда изменяется ранее кэшированное местоположение, поэтому вы можете обновить кеш с помощью этой команды:
источник
Чтобы упростить работу, мы можем использовать следующую команду для переустановки версии 2:
brew install python@2
Тогда на моем Mac это выглядит так:
▶ python -V Python 2.7.10 ▶ python2 -V Python 2.7.14 ▶ python3 -V Python 3.6.5 ▶ pip2 -V pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7) ▶ pip3 -V pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6) ▶ pip --version pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)
источник
reinstall
командаbrew
:brew reinstall python@2
Я была такая же проблема. У меня установлены Python 2.7 и 3.6. Python 2.7
virtualenv
работал, но после установки Python3 virtualenv продолжал искать версию 2.7 и не мог ее найти. Doingpip install virtualenv
установлена версия Python3 из virtualenv.Затем для каждой команды, если я хочу использовать Python2, я бы использовал
virtualenv --python=python2.7 somecommand
источник
У меня была такая же проблема, virtualenv указывал на старый путь Python. Исправление пути разрешило проблему:
$ virtualenv -p python2.7 env -bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory $ which python2.7 /opt/local/bin/python2.7 # needed to change to correct python path $ head /usr/local/bin/virtualenv #!/usr/local/opt/python/bin/python2.7 <<<< REMOVED THIS LINE #!/opt/local/bin/python2.7 <<<<< REPLACED WITH CORRECT PATH # now it works: $ virtualenv -p python2.7 env Running virtualenv with interpreter /opt/local/bin/python2.7 New python executable in env/bin/python Installing setuptools, pip...done.
источник
У меня такая же проблема. Если я сбегу
brew link --overwrite python2
. Был ещеzsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
.Решил! Теперь мы можем использовать фабрику версии python2.
=== 2018/07/25 обновлено
Существует удобный способ использования fab версии python2, когда ваш os python связан с python3.
.sh
для вашей команды.# fab python2 cd /usr/local/opt rm python ln -s python2 python # use the fab cli ... # link to python3 cd /usr/local/opt rm python ln -s python3 python
Надеюсь это поможет.
источник
Мне сработало редактирование первой строки этого файла:
MBP-de-Jose:~ josejunior$ which python3
/usr/local/Cellar/python/3.7.3/bin/python3
MBP-de-Jose:~ josejunior$
перед
#!/usr/local/opt/python/bin/python3.7
после
#!/usr/local/Cellar/python/3.7.3/bin/python3
источник
Все, что вам нужно сделать, это ... закрыть окно терминала и снова открыть новое, чтобы исправить эту проблему.
Проблема в том, что новый путь python не добавляется в bashrc (поможет либо исходный код, либо новое окно терминала).
источник
В моем случае я решил удалить установку homebrew python с моего Mac, так как у меня уже были две другие версии python, установленные на моем Mac через MacPorts. Это вызвало сообщение об ошибке.
Переустановка python через brew решила мою проблему.
источник
эта команда сработала для меня
источник
Для меня в CentOS 7 мне пришлось удалить старую ссылку pip из / bin с помощью
затем повторно свяжите его с
sudo ln -s /usr/local/bin/pip2.7 /bin/pip2.7
Тогда если
/usr/local/bin/pip2.7
Работает, это должно работать
источник
У вас могут быть две разные версии Python и pip.
Пытаться:
pip2 install --upgrade pip
а потомpip2 install -r requirements.txt
Или,
pip3
если вы используете более новую версию Python.источник
TL; DR:
pip
на вашем пути находится символическая ссылка, и указанное место больше не содержит исполняемого файла. Вам необходимо обновить символическую ссылку.Это помогает понять пару вещей.
python
илиpip
вы будете искать,/etc/paths
чтобы попытаться найти соответствующий исполняемый файл для этой команды. Вы можете увидеть там все, используяcat /etc/paths
.which
, вы можете ввестиwhich python
илиwhich pip
. Это сообщит вам расположение исполняемого файла, который ваша оболочка будет использовать для этой команды./etc/paths
содержит/usr/local/bin
, а также/usr/local/bin
является набором символических ссылок на фактические исполняемые файлы. Не сами исполняемые файлы.bad interpreter: No such file or directory
При этом, вероятно, проблема
pip
в символической ссылке, и связанный исполняемый файл, вероятно, больше не существует в этом месте. Чтобы исправить это, сделайте следующееwhich pip
(дает что-то вроде этого/usr/local/bin/pip
)ls -l /usr/local/bin/pip | grep pip
(укажите что-то вроде этогоpip -> /usr/local/opt/python@3.7/bin/pip3
)ls /usr/local/opt/python@3.7/bin/pip3
(у вас возникла эта проблема, поэтому, вероятно, это не так).rm -r /usr/local/bin/pip
pip
исполняемый файл, еслиhomebrew
он будет использоваться,/usr/local/opt
вы можете использовать что-то вроде,ls /usr/local/opt/ | grep python
чтобы найти его.ln -s /usr/local/opt/python@3.7/bin/pip3 /usr/local/bin/pip
источник