【问题标题】:The pip install command installs other modules than I asked for [duplicate]pip install 命令安装了我要求的其他模块[重复]
【发布时间】:2021-01-19 14:13:14
【问题描述】:

我在虚拟环境中安装模块时遇到问题。当我安装一个模块时,例如一个模块请求,然后尝试输入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,但是当我安装我需要的每个模块时,会出现更多不需要的模块。

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

我该如何解决这个问题?

【问题讨论】:

  • 您可以删除与您未手动安装的内容相对应的所有行。但不要删除 pip 或 setuptools。
  • 但是当我在 venv 上安装 pip-chill 并运行它时,在运行 pip-chill==1.0.0 pysimplegui==4.29.0 requests==2.24.0 之后也会出现 pip-chill 真的是这样吗? @xrisk
  • 不要在你的虚拟环境中安装 pip-chill,安装在外面。
  • 但是当我在 venv 之外安装 pip-chill 并运行它时,它会在 venv black==20.8b1 ffmpeg==1.4 flake8==3.8.3 googletrans==3.0.0 instaloader==4.4.4 keyboard==0.13.5@xrisk 之外生成站点包
  • 请忽略我之前的评论。在 virtualenv 环境中安装 pip-chill。您可以手动从输出中删除 pip-chill 行。

标签: python python-3.x pip python-venv


【解决方案1】:
  • 确保首先使用正确的 python 或 pip 版本

python3 点子3

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

  • 试试 Anaconda

【讨论】:

    【解决方案2】:

    当您安装一个包时,pip 也会自动安装该包的所有依赖项。

    在您的情况下,requests 依赖于 certifichardetidnaurllib3,因此它们也会被安装。您无需在 requirements.txt 中列出这些软件包。

    如果您想可视化您的 pip 包的依赖关系,请查看 pipdeptree


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

    【讨论】:

      【解决方案3】:

      这些模块依赖于requests 模块。 如果你想使用这个requests 模块,你必须有那些依赖。否则你会得到一个异常ModuleNotFoundError: No module named 'urllib3'。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-22
        • 1970-01-01
        • 2021-03-25
        • 1970-01-01
        • 2017-05-14
        • 2021-09-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多