-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.py
35 lines (29 loc) · 1.37 KB
/
install.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import importlib
import subprocess
import sys
def install_and_import(package_name):
"""
지정한 패키지가 설치되어 있는지 확인하고, 설치되어 있지 않으면 설치합니다.
Parameters:
package_name (str): 설치 또는 임포트할 패키지의 이름
"""
try:
# 패키지를 임포트하여 설치 여부 확인
importlib.import_module(package_name)
print(f"'{package_name}' 패키지가 이미 설치되어 있습니다.")
except ImportError:
print(f"'{package_name}' 패키지가 설치되어 있지 않습니다. 설치를 시작합니다...")
try:
# pip를 사용하여 패키지 설치
subprocess.check_call([sys.executable, "-m", "pip", "install", package_name])
print(f"'{package_name}' 패키지가 성공적으로 설치되었습니다.")
except subprocess.CalledProcessError:
print(f"'{package_name}' 패키지 설치에 실패했습니다.")
sys.exit(1)
except Exception as e:
print(f"예기치 않은 오류가 발생했습니다: {e}")
sys.exit(1)
if __name__ == "__main__":
packages = ["requests", 'pandas', 'tqdm', 'pyyaml', 'openpyxl', 'numpy'] # 확인 및 설치할 패키지 이름
for package in packages:
install_and_import(package)