이 작업을 수행하는 방법에는 여러 가지, 여러 가지, 여러 가지, 여러 가지가 있습니다. 나는 각각의 원리를 뛰어 넘을 것이고 그것은 유스 케이스입니다.
1. 파이썬 환경
이를 수행하는 방법에는 여러 가지가 있습니다. pipenv
, 콘다 requirments.txt
등
이 중 일부를 사용하면 파이썬 버전을 지정할 수 있습니다. 다른 사람들과 함께 작동하는 파이썬 버전의 범위를 지정하십시오. 예를 들어 python 3.7을 사용하는 경우 3.6을 지원하지 않을 것입니다. 하나 또는 두 개의 사소한 변경 사항 만 있습니다. 3.8도 잘 작동합니다.
또 다른 유사한 방법은 setup.py
입니다. 이들은 일반적으로 가져 오기 / 명령 줄 사용을 위해 PyInstaller (아래에서 언급 할 다른 솔루션) 또는 numpy, wxPython 또는 PyQt5 등과 같은 라이브러리를 배포하는 데 사용됩니다. 파이썬 패키징 안내서는 매우 유용하며, 많은 튜토리얼이 있습니다. (google python setup.py tutorial
)이 파일에서 요구 사항을 지정할 수도 있습니다.
2. 컨테이너
도 커가 큰 것입니다. 당신이 그것을 듣지 않으면 나는 놀랄 것이다. 요약에 대한 간단한 구글 이 이것으로 나옵니다 .
그렇다면 왜 모두가 컨테이너와 Docker를 좋아합니까? Parallels의 서버 가상화 CTO이자 선도적 인 Linux 커널 개발자 인 James Bottomley는 Hyper-V, KVM 및 Xen과 같은 VM 하이퍼 바이저는 모두 "가상 하드웨어 에뮬레이션을 기반으로합니다. 시스템 요구 사항."
그러나 컨테이너는 공유 운영 체제를 사용합니다. 이는 시스템 리소스 측면에서 하이퍼 바이저보다 훨씬 효율적이라는 것을 의미합니다. 컨테이너는 하드웨어를 가상화하는 대신 단일 Linux 인스턴스 위에 배치됩니다. 즉, "쓸모없는 99.9 %의 VM 정크를 남겨두고 응용 프로그램이 포함 된 작고 깔끔한 캡슐을 남길 수 있습니다."
그것은 당신을 위해 그것을 요약해야합니다. (컨테이너를위한 특정 OS는 필요하지 않습니다.)
실행 파일
글을 쓸 때이를 수행하는 두 가지 주요 도구가 있습니다. PyInstaller 및 cx_Freeze. 둘 다 적극적으로 개발되었습니다. 둘 다 오픈 소스입니다.
스크립트를 가져 와서 도구가 스크립트를 바이트 코드로 컴파일하고 가져 오기를 찾은 다음 복사하여 최종 사용자가 파이썬없이 대상 시스템에서 스크립트를 실행하는 이식 가능한 Python 환경을 만듭니다.
개인적으로 PyInstaller를 선호합니다. 저는 개발자 중 한 사람입니다. PyInstaller는 명령 줄 스크립트를 통해 모든 기능을 제공하며 생각할 수있는 대부분의 라이브러리를 지원하며 더 많은 기능을 지원하도록 확장 할 수 있습니다. cx_Freeze에는 설정 스크립트가 필요합니다.
두 도구 모두 Windows, Linux, macOS 등을 지원합니다. PyInstaller는 단일 파일 exe 또는 하나의 폴더 번들을 작성할 수 있지만 cx_Freeze는 하나의 폴더 번들 만 지원합니다. PyInstaller 3.6은 python 2.7 및 3.5-3.7을 지원 하지만 4.0 은 python 2를 지원 하지 않습니다 . cx_Freeze는 마지막 주요 릴리스 (6.0 생각)에서 python 2 지원을 중단했습니다.
어쨌든 도구 기능에 대해서는 충분합니다. 당신은 그들 자신을 볼 수 있습니다. (자세한 정보는 https://pyinstaller.org 및 https://cx-freeze.readthedocs.io 참조 )
이 배포 방법을 사용하는 경우 일반적으로 GitHub 리포지토리에 소스 코드를 제공하고 다운로드 할 준비가 된 몇 개의 exe (각 플랫폼마다 하나씩)와 코드를 실행 파일로 작성하는 방법에 대한 지침을 제공합니다.