Разница между 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. Это определенно поможет.

Ссылка URL
https://pypi.org/project/pipenv/#:~:text=Вам%20больше%20не%20нужно%20использовать%20pip%20и%20virtualenv%20отдельно.%20Они%20работают%20вместе.

Вернуться на верх