Я нахожусь на Mac и установил pre-commit
используя brew
и даже не спрашивая об этом, был обновлен с python 3.6.5 до 3.7. (3.6.5 также находился под контролем brew
)
Теперь pipenv выдает ошибку «Библиотека не загружена».
Pipenv должен работать как до обновления python.
$ pipenv -h
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /usr/local/Cellar/pipenv/2018.5.18/libexec/bin/python3.6
Reason: image not found
Abort trap: 6
Как правильно решить проблему? Могу ли я отредактировать какой-нибудь конфигурационный файл, чтобы вместо этого он указывал на 3.7?
Может ли pipenv
быть более снисходительным и полагаться на двоичный файл python3
вместо python3.6
?
У меня аналогичная проблема - где arch linux обновлен с 3.6.5 до 3.7, и теперь я получаю сообщение об ошибке всякий раз, когда пытаюсь запустить pipenv. Что работает для меня, но это действительно немного уродливый хак, - это сначала обновить pip, переустановить pipenv и для каждого репозитория, использующего pipenv, стереть виртуальную среду и воссоздать ее.
Я делаю что-то вроде:
rm -rf `pipenv --venv`
pipenv install --dev
и, похоже, это работает.
Примечание: вам также, вероятно, следует изменить требование в Pipfile с python 3.6 на 3.7.
Надеюсь, это поможет, но мне также интересно, есть ли более надежное решение ...
Это связано с тем, как Homebrew настраивает Python. Pipenv (или любые библиотеки Python) ничего не может с этим поделать. НЕ устанавливайте что-либо на Homebrew Python, если вы этого не хотите. Если это так, то единственный выход - переустановка.
Я помню, что несколько дней назад я прокомментировал аналогичную проблему, но пока не могу ее найти :(
@uranusjr Разве это не рекомендуется документами ?
Да так?
Установка Homebrew довольно сложна и находится вне нашего контроля, вы берете на себя некоторый риск, если используете ее (ни один из нас не использует Mac, поэтому мы действительно не можем предложить подробное представление об этом)
то, что сработало для меня, было
brew uninstall mkcert
Что сработало для меня, так это просто уничтожить все мои env: rm -rf /Users/william/.local/share/virtualenvs/*
и переустановить env с помощью pipenv install
.
@omrihar почему --dev
? В документах говорится: «Установите как разрабатываемые пакеты, так и пакеты по умолчанию». Означает ли это установку локальных пакетов (например, python setup.py develop)?
Изменить: с помощью установленного пивом pipenv (2018.11.26_2) с python3.7. У меня возникли проблемы на этапе блокировки установки, например, Locking Failed!
или просто зависание на Locking
нам помогли:
$ brew uninstall pipenv
$ brew install python3.6
$ pip3 install --user pipenv
$ mkdir -p ~/bin
$ ln -s ../Library/Python/3.6/bin/pipenv ~/bin/
и если вы еще этого не сделали, добавьте ~ / bin / в свой PATH, отредактировав строку PATH в ~ / .bash_profile:
...
PATH=/Users/{your_username}/bin:{the_content_that_was_there_before}
...
Не забудьте закрыть и открыть оболочку
Я столкнулся с этой проблемой и решил ее, запустив в соответствии с документами
brew upgrade pipenv
Я столкнулся с той же проблемой после обновления версии OSX.
Решается удалением установки homebrew и последующим выполнением инструкций «Прагматической установки» :
pip install --user pipenv
Не забудьте добавить двоичный каталог базы пользователей в ваш PATH в соответствии с инструкциями.
Привет, у меня те же ошибки, но я не уверен, что мне нужно удалить и как.
Я попытался установить pipenv и получил ошибки, а затем увидел, что он не установлен. и просматривая журналы пивоварения, я вижу, что, похоже, установлен python3.8, который AFAIK не был установлен раньше (я использую 3.7)
Попытка удалить [email protected] не сработала, поскольку от него зависит awscli, что не имеет смысла, если он не был установлен раньше ...
Что мне обычно нужно удалить, чтобы решить эту проблему?
единственные журналы в ~ / Library / Logs / Homebrew имеют адрес [email protected] с момента установки.
мне кажется надо его деинсталлировать, кажется да? (может быть обновился awscli или что-то в этом роде ...)
Спасибо за вашу помощь.
Удаление python помогло. Благодарность
Самый полезный комментарий
У меня аналогичная проблема - где arch linux обновлен с 3.6.5 до 3.7, и теперь я получаю сообщение об ошибке всякий раз, когда пытаюсь запустить pipenv. Что работает для меня, но это действительно немного уродливый хак, - это сначала обновить pip, переустановить pipenv и для каждого репозитория, использующего pipenv, стереть виртуальную среду и воссоздать ее.
Я делаю что-то вроде:
и, похоже, это работает.
Примечание: вам также, вероятно, следует изменить требование в Pipfile с python 3.6 на 3.7.
Надеюсь, это поможет, но мне также интересно, есть ли более надежное решение ...