pip install命令将安装除我要求之外的其他模块

问题描述

在虚拟环境中安装模块时遇到问题。当我安装一个模块(例如,一个模块请求),然后尝试键入pip list时,有几个模块在出现之前从未安装过。

这是我第一次做这件事:

Package    Version
---------- -------
pip        20.2.3
setuptools 41.2.0

这是我要安装的第一个模块,即请求:

Package    Version
---------- ---------
certifi    2020.6.20
chardet    3.0.4
idna       2.10
pip        20.2.3
requests   2.24.0
setuptools 41.2.0
urllib3    1.25.10

我想为我的应用程序创建requirements.txt,但是当我安装所需的每个模块时,会出现更多不需要的模块。

我看到了有关虚拟环境的教程,但没有发现它们遇到这种情况。

我该如何解决问题?

解决方法

  • 确保首先使用
  • 引用正确的python或pip版本

python3 pip3

  • 尝试通过pip卸载来卸载现有模块

  • 尝试Anaconda

,

这些模块依赖于String query = "SELECT e." + ID_EMP + ",e." + FIRST_NAME + ",e." + LAST_NAME + "," + "COUNT(m." + ID_MISTAKE + ") AS Mistake_Count " + "FROM " + EMP_TABLE + "AS e LEFT JOIN " + MISTAKE_TABLE + " AS m " + "ON m." + m.ID_WAITER_MISTAKE + " = e." + ID_EMP + " " + "GROUP BY e." + ID_EMP + ",e." + LAST_NAME + " " + "ORDER BY Mistake_Count DESC,e." + ID_EMP ; 模块。 如果要使用此requests模块,则必须具有那些依赖项。否则,您将获得异常requests:没有名为“ ModuleNotFoundError”的模块。

,

安装软件包时,pip也会自动安装该软件包的所有依赖项。

在您的情况下,requests取决于certifichardetidnaurllib3,因此它们也都已安装。您无需在requirements.txt中列出这些软件包。

如果要可视化pip软件包的依赖性,请查看pipdeptree


奖励:存在诸如poetry之类的依赖项管理器,它们可以跟踪您对项目的要求。如果您以后不想手动维护需求文件,则可能要看看它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...