python은 다양한 package를 설치해서 이용할 수 있는 확장성 덕분에 많은 인기를 끌고 있습니다.
이러한 package들의 설치와 관리를 도와주는 고마운 프로그램들로 conda와 pip가 있습니다.
우선,
conda는 Anaconda에서 제공하고 있는 package(conda-forge channel 등)를 활용할 수 있으며,
package들 간의 의존성을 고려하며 설치되거나 제거되는 등 사용하기 편한 장점이 있습니다.
(하지만 그래서 설치 가능한 package가 상대적으로 적습니다..)
# conda 이용한 설치
conda install ooo(package 이름)
conda install ooo(package 이름)==1.0.1(특정 버전 설치 시)
# conda 이용한 설치 목록 확인
conda list
# conda 이용한 업데이트
conda update ooo(package 이름)
conda update --all
# conda 이용한 삭제
conda remove ooo(package 이름)
한편,
pip는 PyPI(Python Package Index)를 통해 제공되는 package(PyPI channel)를 활용할 수 있으며,
python에서 제공하는 최신의 다양한 package를 이용할 수 있으나..
package 의존성 등을 고려하여 설치가 필요할 수 있습니다.
# pip 이용한 설치
pip install ooo(package 이름)
pip install ooo(package 이름)==1.0.1(특정 버전 설치 시)
# pip 이용한 설치 목록 확인
pip list
# pip 이용한 업데이트
pip install --upgrade ooo(package 이름)
# pip 이용한 삭제
pip uninstall ooo(package 이름)
# pip 이용한 업데이트 시..
pip list --outdated
pip freeze > req.txt
pip install --upgrade -r req.txt
# pip를 업데이트하기..
python.exe -m pip install --upgrade pip
pip를 이용한 package 업데이트 방법으로 아래와 같은 방법도 있습니다.
# package 확인 - 1
import pkg_resources, pandas
installed_packages = pkg_resources.working_set
installed_packages_set = sorted(
['%s==%s' % (pkg.key, pkg.version) for pkg in installed_packages])
out_installed_packages_set = pandas.DataFrame(installed_packages_set)
print(out_installed_packages_set)
# package 확인 - 2
import importlib_metadata, pandas
installed_packages = importlib_metadata.distributions()
# for package in installed_packages:
# name = package.metadata['Name']; version = package.version
# license = package.metadata['License']
installed_packages_set = sorted(
['%s==%s' % (pkg.metadata['Name'], pkg.version)
for pkg in installed_packages if(pkg.metadata.get('Name', None) != None)])
out_installed_packages_set = pandas.DataFrame(installed_packages_set)
print(out_installed_packages_set)
for package in installed_packages:
name = package.metadata["Name"]
version = package.version
license = package.metadata["License"]
print(name, version, license)
# package upgrade
import pip, subprocess
for package in installed_packages_set:
str_upgrade_call = 'pip install --upgrade ' + package[:package.find('==')]
print(str_upgrade_call)
subprocess.run(str_upgrade_call, shell=True) # subprocess.call
반응형
'개발' 카테고리의 다른 글
[python]conda 설치 및 이용(Anaconda, miniconda) (0) | 2025.02.15 |
---|---|
[python]python에서 csv, xlsx, spss - sav 접근 (0) | 2024.12.15 |
[python]python Dash w/ Plotly (1) | 2024.12.04 |
[python]python 가상환경 및 패키지 설치 (0) | 2024.09.10 |
[python]sqlite3 (0) | 2024.07.17 |