python pip 安装查找器

python pip install finder

因此,正如您在上图中看到的那样,我喜欢记录 运行 此脚本需要哪些库要求。
(主要是当我将脚本移动到另一台计算机或将其上传给其他人时)
但我的问题不是所有导入都匹配 pip install 命令的名称,这里的关键示例是 BeautifulSoup.
所以我想知道是否有 python 命令可以查找来自其导入的库名称。
像干草一样,告诉我这个导入是什么包。

奖励:正如您在项目中看到的那样,我们将 lxml 与 BeautifulSoup 一起使用,因此我们不需要导入它,但确实需要安装它。是否有一个“东西”,我可以只用一个 py 脚本,它会告诉我我需要什么要求 运行 它。
我知道 pyinstaller 例如会打包制作 exe 所需的所有库,我想知道是否有办法 运行 pyinstaller 像信息模式一样。

编辑:我不想为 hole computer 构建一个 requirements.txt,只是为我目前正在处理的脚本构建一个。
或者只是 requirements.txt for 只有一个py文件,不是孔机

您应该在 pip 提供的所谓 requirements file. The search 命令中定义 运行 脚本的要求,这可能正是您要查找的内容。但是没有可靠的方法可以仅根据导入名称来反向查找包名称。你的作案手法应该是:

  1. 确定您需要的包
  2. 将需要的包添加到 requirements.txt 文件
  3. 通过pip install -r requirements.txt
  4. 安装依赖项(最好在虚拟环境或类似环境中)

如果您将需求文件与您的脚本一起放入版本控制中,其他人可以更轻松地从您的工作中获益。

通常的解决方法是创建一个 requirements.txt 文件:

pip freeze > requirements.txt

然后您可以将其添加到版本控制(或简单地复制到另一台计算机)并且:

pip install -r requirements.txt

这会将文件中列出的所有软件包安装到新环境中。

感谢 S3DEV
pipreqs 成功了。
pipreqs C:\MyProjectFolder
将只为 MyProjectFolder 文件夹中的 python 文件和该文件夹中的脚本制作一个 requirements.txt,而不是孔计算机。
它将把 requirements.txt 保存到同一个文件夹。

也很抱歉我是新来的,但这是一个子评论,我不知道如何“给分”来解决我的问题给 S3DEV。所以我将把这个标记为已解决...

pipreqs 库 (from pypi) 用于为 特定程序 收集导入的库并导出到 requirements.txt 文件。

使用 pip freeze 导出 所有 已安装的库,通常不适合基于项目的 requirements.txt 文件。