我想这在几秒钟内就会变得很明显,但我对web开发还是相当陌生的。
我正在学习如何使用Django,在通过pipenv安装了allauth并尝试迁移后,我遇到了一个问题。我得到了一个可爱的ModuleNotFoundError: No module named 'allauth'。正如我所说的,我通过pipenv安装了它,并且我可以在我的.venv/Lib/site-packages文件中看到allauth。我已经设置并激活了我的虚拟环境。
我快速研究了一下,多亏了this answer,我用pip install allauth“重新安装”解决了我的问题,我的迁移现在工作得很好。
我不明白的是,当我做pipenv install allauth的时候,它不是已经安装了吗?我需要用pipenv安装所有的东西一次才能更新Pipfile & Pipfile.lock,然后再通过pip安装它吗?
显然,我不完全理解pipenv和pip之间的区别,如果有仁慈的灵魂能给我解释一下,我会非常感激的:)
编辑:我已经看过这个thread了,不管怎样,我很愚蠢,但它对我来说仍然没有多大意义。
发布于 2021-12-02 17:05:13
你说pip install allauth帮你解决了这个问题。但这可能是因为它在全局范围内安装了软件包,而您肯定不想这样做。
相反,您应该尝试使用pipenv本身重新安装。它以前也发生在我身上,并以这种方式修复。
如果这不起作用,试着删除并重新设置虚拟环境-
pipenv --rm
pipenv shell
pipenv install
PIP与PIPENV的区别
用一个非常外行的语言,
pip是一个软件包安装管理器本身用于安装其他软件包,如熊猫,枕头,django,virtualenv...等
另一方面,pipenv是一个为简化单独使用virtualenv和pip的负担而创建的包。(我假设您知道virtualenv是如何工作的)
如果您将pipenv与virtualenv一起使用,则不需要pip。但我随时都会推荐使用pipenv,因为谁想要痛苦,对吧?
要了解更多,我认为你还应该研究(谷歌) VIRTUALENV与PIPENV。那肯定会有帮助的。
引用URL
https://stackoverflow.com/questions/70203086
复制相似问题