> 백엔드 개발 > 파이썬 튜토리얼 > 설치 후 스크립트를 Python Setuptools에 통합하는 방법은 무엇입니까?

설치 후 스크립트를 Python Setuptools에 통합하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-11 09:27:03
원래의
366명이 탐색했습니다.

How to Integrate Post-Install Scripts into Python Setuptools?

Python Setuptools의 설치 후 스크립트 통합

Setupscript는 Python 프로젝트 관리 및 배포를 위한 뛰어난 도구가 되었습니다. 이를 통해 개발자는 설치 후 절차를 포함한 다양한 작업을 자동화할 수 있습니다. 이 문서에서는 설치 후 Python 스크립트를 setuptools 설정에 통합하는 방법을 설명합니다.

설치 스크립트 수정

설치 후 스크립트를 지정하려면 setup.py 파일입니다. 이를 위해서는 설치 완료 시 스크립트를 실행하는 사용자 정의 설치 명령을 생성해야 합니다. 예는 다음과 같습니다.

from setuptools import setup
from setuptools.command.install import install

class PostInstallCommand(install):
    def run(self):
        install.run(self)
        # Call your post-install script or function here

setup(
    ...,
    cmdclass={
        'install': PostInstallCommand,
    },
    ...
)
로그인 후 복사

개발 및 설치 모드

개발 및 설치 모드에 대해 서로 다른 설치 후 스크립트가 필요할 수 있다는 점을 고려하세요. 이러한 시나리오를 처리하기 위해 별도의 명령을 생성하고 이를 cmdclass 인수에 포함할 수 있습니다.

class PostDevelopCommand(develop):
    def run(self):
        develop.run(self)
        # Add development-specific post-install script here

class PostInstallCommand(install):
    def run(self):
        install.run(self)
        # Add installation-specific post-install script here

setup(
    ...,
    cmdclass={
        'develop': PostDevelopCommand,
        'install': PostInstallCommand,
    },
    ...
)
로그인 후 복사

쉘 명령

쉘 명령을 실행의 일부로 실행해야 하는 경우 설치 후 스크립트인 setuptools에서는 check_call 함수를 사용하여 편리한 방법을 제공합니다.

from setuptools import setup
from setuptools.command.install import install
from subprocess import check_call

class PostInstallCommand(install):
    def run(self):
        check_call("apt-get install this-package".split())
        install.run(self)

setup(
    ...,
    cmdclass={
        'install': PostInstallCommand,
    },
    ...
)
로그인 후 복사

이것은 설치 프로세스 중에 필요한 시스템 구성이나 리소스 설치를 수행할 수 있습니다.

참고: 이 솔루션은 소스 배포 설치(예: tarball 또는 zip 파일) 또는 다음 설치에만 작동합니다. 편집 가능한 모드. 사전 제작된 바이너리 휠(.whl 파일)에서 설치하는 경우에는 작동하지 않습니다.

위 내용은 설치 후 스크립트를 Python Setuptools에 통합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿