Kim*_*mmi 7 python pip requirements.txt
我想创建一个python分发包,并且需要检查我自己的包所需的所有包。
对于requirements.txt,它包括它需要的所有包。但是,我想找到一种方法来检查我需要的所有包,并且对于某些包,它们也是我项目中其他包的一些要求。
有什么方法可以检查我需要哪些包,并为我自己的项目维护最少的包?
pip freeze
将打印您当前环境中碰巧安装的任何软件包。要列出实际导入的包,请使用pipreqs
:
pip install pipreqs
pipreqs path_to_project
Run Code Online (Sandbox Code Playgroud)
通常人们通过安装所需模块的单独虚拟环境来了解他们的需求。requirements.txt
在这种情况下,通过在虚拟环境中运行以下命令来创建文件很简单:
pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
此外,为了避免生产中出现意外并对您拥有的代码充满信心,最好进行测试和良好的测试覆盖率。如果存在导入但未安装的模块,测试会显示出来。
查找无法导入的模块的另一种方法是pylint
对包使用静态代码分析工具。有一个特别F0401 - Unable to import %s
警告。
演示:
假设您有一个test.py
只有一条import
语句的文件
import pandas
Run Code Online (Sandbox Code Playgroud)pandas
当前python环境中未安装模块
这是输出pylint test.py
:
$ pylint test.py
No config file found, using default configuration
************* Module test
C: 1, 0: Missing module docstring (missing-docstring)
F: 1, 0: Unable to import 'pandas' (import-error)
W: 1, 0: Unused import pandas (unused-import)
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
3261 次 |
最近记录: |