Разница между pip/pipenv
Наверное, через несколько секунд это станет очевидно, но я довольно новичок в веб-разработке.
Я учусь использовать Django и столкнулся с проблемой allauth после того, как установил его через pipenv и попытался мигрировать. Я получил прекрасный ModuleNotFoundError: No module named 'allauth'. Как я уже сказал, я установил его через pipenv и я мог видеть allauth в моем .venv/Lib/site-packages файле. Моя виртуальная среда установлена и активирована.
Быстрое исследование и благодаря этому ответу , я решил свою проблему, "переустановив" его с помощью pip install allauth, и моя миграция теперь работает нормально.
Я не понимаю, разве он уже не был установлен, когда я сделал pipenv install allauth, нужно ли мне установить все один раз с помощью pipenv, чтобы получить обновление Pipfile & Pipfile.lock, а затем также установить его через pip...?
Очевидно, я не совсем понимаю разницу между pipenv и pip, если какая-нибудь милосердная душа будет достаточно добра, чтобы объяснить мне это, я был бы очень признателен :)
Edit: Я уже видел этот thread, но в любом случае я тупой или что-то еще, но это все равно не имеет особого смысла для меня.
Итак, вы сказали, что pip install allauth устранил проблему. Но это может быть потому, что он установил пакет ГЛОБАЛЬНО, а вы определенно не хотите этого делать.
Скорее, вам следует попробовать переустановить, используя сам pipenv. Это уже случалось со мной раньше и было исправлено таким образом.
В случае, если это не помогло, попробуйте удалить и заново установить виртуальный env -
pipenv --rm
pipenv shell
pipenv install
Разница между PIP и PIPENV
На очень неспециализированном языке,
pip - это менеджер установки пакетов, который используется для установки других пакетов, таких как panda, pillow, django, virtualenv... etc
pipenv, с другой стороны, это пакет, созданный для облегчения бремени использования virtualenv и pip по отдельности. (Я предполагаю, что вы знаете, как работает virtualenv)
Вам не нужно pipenv, если вы используете virtualenv с pip. Но я бы в любом случае рекомендовал использовать pipenv, потому что кому нужна боль?
Чтобы понять больше, я думаю, вам также следует изучить (google) VIRTUALENV vs PIPENV. Это определенно поможет.