Mem*_*mmo 16 python pip python-3.x
我想知道如何从单个 python 脚本中提取需求。我尝试了以下方式,在我的文件开头,导入后立即:
try:
from pip._internal.operations import freeze
except ImportError: # pip < 10.0
from pip.operations import freeze
x = freeze.freeze()
for p in x:
print(p)
Run Code Online (Sandbox Code Playgroud)
然而,上面的这段代码让我返回了本地安装的所有 Python 框架。我想提取只为脚本的必然要求,为了能够部署最终的应用程序。
我希望我很清楚。
Jos*_*ata 18
pipreqs 使用简单
安装:
pip install pipreqs
在脚本的同一文件夹中的 linux 中使用:
pipreqs .
然后requirements.txt文件被创建
点子主页:
https://pypi.org/project/pipreqs/
您可以使用“modulefinder”python 模块轻松完成此操作。
我认为您想打印脚本所需的所有模块。所以,你可以参考
http://blog.rtwilson.com/how-to-find-out-what-modules-a-python-script-requires/
或者为了您的方便,代码在这里:
from modulefinder import ModuleFinder
f = ModuleFinder()
# Run the main script
f.run_script('run.py')
# Get names of all the imported modules
names = list(f.modules.keys())
# Get a sorted list of the root modules imported
basemods = sorted(set([name.split('.')[0] for name in names]))
# Print it nicely
print ("\n".join(basemods))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6831 次 |
最近记录: |