파이썬 패키징 시스템

개요



이 블로그 게시물은 Python의 골칫거리(...) 상대 가져오기 및 패키징 시스템에 대한 매우 근본적인 솔루션/예제에 대한 것입니다.

저장소



this link에서 저장소에 연결할 수 있습니다.

단계


  • 다른 프로젝트의 종속성 충돌을 방지하고 작업 중인 프로젝트의 종속성을 쉽게 관리하기 위해 virtual environment를 만듭니다.

  • >>> python3 -m venv env
    


    프로젝트에 대한 virtual environment를 생성했습니다. 이제 활성화해야 합니다.

    >>> source env/bin/activate
    


  • 설치 파일 생성:

  • from setuptools import setup, find_packages
    
    setup(
      name = "python-imports",
      version = "0.0.1",
      packages = find_packages()
    )
    


    find_packages 함수는 루트를 조회하고 모든 패키지를 찾습니다. 그런 다음 PYPI의 외부 패키지처럼 프로젝트에서 이 패키지(우리가 만든 패키지)를 사용할 수 있습니다.

    Q: OK, but how can I create my own package?

    A: In simple terms, if you create the __init__.py file in one of folders, Python will behave these folders as packages, even if the __init__.py file is empty!


  • 이제 pip를 사용하여 편집 가능한 모드에서 로컬로 패키지를 설치합니다.

  • >>> pip install -e .
    


  • 최종 폴더 구조:

  • ├── main.py
    ├── package1/
    │   ├── hello.py
    │   └── __init__.py
    ├── package2/
    │   ├── hello.py
    │   └── __init__.py
    ├── env/
    └── setup.py
    


  • 이제 시작하겠습니다! 다음과 같이 패키지를 가져올 수 있습니다(이 예에서는 package1package2 폴더 확인).

  • # package2/hello.py
    from package1.hello import hello_with_name
    
    
    def hello_from_package2():
      print("Hello from package-2!")
    
    
    def hello_with_name_package1():
      hello_with_name(name = "Python")
    

    좋은 웹페이지 즐겨찾기