欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

获取python工程下面的所需的所有开源依赖包

发布时间:2023/12/20 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 获取python工程下面的所需的所有开源依赖包 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

现在开源的项目网上很多,但是往往是不写依赖包的,导致我们不知道哪些包需要记录。

这个博文给出获取python工程下面所有开源依赖包的方法。

首先我找了有没有现成的包[1],该链接中显示的包是用来获取python 开源包(也就是带有setup.py的工程)中的依赖库。

pipreqs /home/project/location

以及

pip install yolk

都试过了,无效。

###################下面开始自己写############################

所以我们需要的逻辑是,遍历当前路径下面的每个.py文件[2]:

最终python3代码如下:

import os# 遍历文件夹及其子文件夹中的文件,并存储在一个列表中# 输入文件夹路径、空文件列表[]# 返回 文件列表Filelist,包含文件名(完整路径)def get_filelist(dir, Filelist):newDir = dirif os.path.isfile(dir):Filelist.append(dir)# # 若只是要返回文件文,使用这个# Filelist.append(os.path.basename(dir))elif os.path.isdir(dir):for s in os.listdir(dir):if s == ".git": # 忽略.git文件夹continuenewDir=os.path.join(dir,s)get_filelist(newDir, Filelist)#递归调用return Filelistdef find_package(lists):for file in lists:content=open(file)for ilne in content.readlines():# print(line)# print(type(line))if "import" in ilne:print(ilne)if __name__ =='__main__' :lists = get_filelist('RSNA666_HIT2080', [])find_package(lists)print("文件数量=",len(lists))

输出结果如下:

import pandas as pd

from tqdm import tqdm

import numpy as np

from ..utils import misc

import random

import math

import cv2

from albumentations.augmentations import functional as F

from albumentations.core.transforms_interface import ImageOnlyTransform

import cv2

import os

import random

import glob

import pandas as pd
 

######################

补充:

还有个办法是直接:

 grep -r import

缺点是会在左侧显示很多路径。

Reference:

[1]https://stackoverflow.com/questions/35796968/get-all-modules-packages-used-by-a-python-project

[2]https://blog.csdn.net/C_chuxin/article/details/83446602

总结

以上是生活随笔为你收集整理的获取python工程下面的所需的所有开源依赖包的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。