pythonエンジニアリングの下に必要なすべてのオープンソース依存パッケージを取得

2218 ワード


現在、オープンソースのプロジェクトはネット上にたくさんありますが、依存パッケージを書かないことが多く、どのパッケージが記録される必要があるか分かりません.
このブログではpythonエンジニアリングの下にあるすべてのオープンソース依存パッケージを取得する方法を示します.
まず、pythonオープンソースパッケージ(すなわちsetup.py付きエンジニアリング)の依存ライブラリを取得するための既存のパッケージ[1]を探しました.
pipreqs /home/project/location

および
pip install yolk

全部やってみましたが、無効です.
##################################################################################################################################################### , .py [2]:
最終python 3コードは次のとおりです.
import os
 
#                ,         
 
#        、     []
 
#        Filelist,     (    )
 
def get_filelist(dir, Filelist):
    newDir = dir
    if 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   
                continue
            newDir=os.path.join(dir,s)
            get_filelist(newDir, Filelist)#    
    return Filelist


def 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