网上这个答案好多,在我眼里根dog shit
一样,先说结果,然后再分析。
$pip3 install pipreqs
$cd 到项目
$pipreqs ./
$pip3 install -r requirements.txt
到此结束。
- 下面来说下这个工具,
$pip3 search pipreqs
pipreqs (0.4.10) - Pip requirements.txt generator based on imports in project
pipreqs-amasad (0.4.10) - Pip requirements.txt generator based on imports in project
pipreqs-spenly (0.4.10) - Pip requirements.txt generator based on imports in project
pipreqs-update (2019.4.13) - update pip requirements file with latest versions
可以看到他是通过检索imports来生成requirements.txt
$pipreqs -h
pipreqs - Generate pip requirements.txt file based on imports
Usage:
pipreqs [options] [<path>]
Arguments:
<path> The path to the directory containing the application
files for which a requirements file should be
generated (defaults to the current working
directory).
在项目目录下执行,如果已经有一个req文件还需要带上--force
来覆写。
WARNING: Requirements.txt already exists, use --force to overwrite it
- 然后来分析下我为什么说网上很多结果都是
dog shit
很多结果是这么写的:
$pip freeze > requirements.txt
我们来看下freeze
是什么:
$pip3 -h
Usage:
pip3 <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
config Manage local and global configuration.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
help Show help for commands.
可以看到这个是输出你当前环境的所有依赖,并不是这个工程的!!!这不是误人么。
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。