Python 패키지를 사용하면 대규모 시스템을 분할하고 모듈을 일관된 방식으로 구성하여 자신과 다른 사람이 효율적으로 사용하고 재사용할 수 있습니다. Python의 "배터리 내장"이라는 모토는 표준 라이브러리에 많은 유용한 패키지가 사전 설치되어 제공된다는 의미입니다.
그러나 다양한 놀라운 타사 소프트웨어 패키지를 활용할 수도 있습니다. 이 튜토리얼에서는 패키지가 정확히 무엇인지, 패키지에서 모듈을 가져오는 방법, Python 표준 라이브러리에 내장된 패키지를 탐색하고 타사 패키지를 설치하는 방법에 대해 알아야 할 모든 것을 배웁니다.
패키지에 대해 이야기하기 전에 먼저 모듈에 대해 이야기해보겠습니다. 모듈은 귀하(및 다른 사람들)가 프로그램을 구성하는 함수와 클래스를 배치하는 *.py
확장자를 가진 소스 파일입니다.
Python의 패키지는 여러 Python 파일을 포함하는 폴더일 뿐이며, 비어 있거나 실행 가능한 코드를 포함할 수 있는 하나의 __init__.py
文件。 __init__.py
文件表明该目录是一个包。 __init__.py
파일이 있어야 합니다.
패키지는 Python의 계층적 네임스페이스 개념을 구현한 것입니다. Zen of Python 인용:
"네임스페이스는 좋은 아이디어입니다. 더 많이 활용해 보겠습니다!"전체 Python Zen을 보려면 Python 대화형 세션에서
를 입력하세요. import this
으아아아
패키지는 하위 패키지와 모듈(파일)의 계층 구조를 나타내지만 계층 구조는 패키지와 하위 패키지가 디렉터리와 하위 디렉터리인 파일 시스템을 기반으로 할 필요는 없습니다. 그것보다 훨씬 더 유연합니다.
Python 패키지 만들기
라는 패키지가 있습니다. simple_package
으아아아
ansible이라는 패키지를 살펴보겠습니다. 표준 라이브러리의 패키지가 아닙니다. 나중에 타사 패키지를 찾아 설치하는 방법을 살펴보겠습니다. 이제 디렉터리 파일 구조를 살펴보겠습니다.
이러한 패키지는 일반적으로 Python 인터프리터의 사이트 패키지 디렉터리(버전, 운영 체제 및 배포판에 따라 다름) lib 아래에 설치됩니다.
예를 들어 Mac에서 Python 3.10은 /lib/python3.10/site-packages
ansible/utils 디렉토리를 보면 여기에 다른 모듈과 하위 패키지도 포함되어 있음을 알 수 있습니다. 으아아아
검색 경로를 통해 사용할 수 있는 디렉터리 목록이며 이를 동적으로 조작할 수 있습니다(검색 경로의 항목 추가, 삭제 또는 이동). site-packages 디렉터리는 항상 존재합니다. sys.path
에서 path.py 모듈을 가져오려면 다음 명령을 사용해야 합니다. 으아아아
모듈을 가져오려면 다음 명령을 사용하세요:
으아아아
path
和 encrypt
표준 os.path 모듈도 사용하려면 다음 명령을 사용하세요.
이제 속한 네임스페이스로 인해 충돌하지 않고 경로 모듈 중 하나 또는 둘 다를 사용할 수 있습니다.
표준 라이브러리 탐색
다음은 주제별로 정리된 표준 라이브러리의 모든 패키지입니다.
PyPI
표준 라이브러리는 훌륭하지만 표준이 아닌 필요한 특수 기능이 있는 경우가 많습니다. 그렇다고 처음부터 작성해야 한다는 의미는 아닙니다. Python에는 많은 양의 코드를 무료로 개발하고 공유하는 활기차고 활동적인 커뮤니티가 있습니다. PyPI: Python 패키지 색인을 입력하세요. PyPI는 공개적으로 사용 가능한 모든 소프트웨어 패키지를 호스팅하고 이를 검색할 수 있는 원스톱 상점을 제공합니다.
PyPI 将包组织在可浏览的索引中。您可以按主题、环境、框架、开发、状态、目标受众、许可证、自然语言、编程语言(是的,有支持多种编程语言的 Python 包)和操作系统来浏览和搜索。
截至 2021 年,PyPI 不再显示软件包的下载统计信息,因为维护统计信息所需的资源导致其效率低下。
有两种方法可以从 PyPI 安装软件包。您可以下载该软件包,然后运行 python setup.py install
。但现代的方法是使用 pip、setuptools 和wheel。
从 Python 3.4 和 Python 2.79 开始默认包含 Pip 和 setuptools,但您需要升级到最新版本:
pip install -U pip setuptools
python -m pip install -U pip setuptools
使用pip安装wheel:
pip install wheel.
要使用 pip 安装软件包,请发出此命令。
pip install <package_name>
其中 package_name
是包的名称。例如,要安装 Ansible,命令如下所示:
pip install ansible
如果需要特定版本,也可以指定如下:
pip install ansible==7.0
Python 包始终安装到环境中。我在这里不会介绍的一种常见做法是使用虚拟环境来管理具有不同解释器和/或不同安装包集的多个独立的 Python 安装。您可以在此处阅读有关虚拟环境的更多信息。
Python 打包权威提供了大量有关打包最佳实践的指导。这很重要,因为这是一个正在积极开发的领域,并且建议会快速发展。
此外,如果您想做一些特别的事情,例如从替代存储库而不是 PyPI 安装软件包或以更复杂的方式使用 pip,您会发现精彩的讨论和实用的建议。
当您是 Python 初学者时,您会学习核心语言并享受使用它的乐趣。很快您就会发现标准库,并且随着您获得更多经验,您会从它的丰富性中受益越来越多。
作为 Pythonista,您发展的下一阶段是将 Python 社区在 PyPI 上带来的巨大优势融入到您的系统中。包作为可重用 Python 代码的部署单元使这个生态系统得以实现。
위 내용은 Python 패키지 사용 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!