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