파이썬 프로그램을 실행 가능하게 만들기 위해 Linux에서 무엇을 사용합니까?
방금 리눅스 시스템 (Kubuntu)을 설치했고 리눅스에서 파이썬 프로그램을 실행 가능하게 만드는 프로그램이 있는지 궁금합니다.
다음을 스크립트의 첫 번째 줄에 넣으십시오.
#!/usr/bin/env python
다음을 사용하여 파일을 실행 가능하게 만드십시오.
chmod +x myfile.py
실행
./myfile.py
Python에서 독립 실행 형 바이너리 애플리케이션을 얻으려면 py2exe 또는 PyInstaller 와 같은 도구를 사용하십시오 .
PyInstaller를 사용할 수 있습니다. 단일 "바이너리"파일로 실행할 수 있도록 빌드 dist를 생성합니다.
http://pythonhosted.org/PyInstaller/#using-pyinstaller
Python 3에는 빌드 dist를 만드는 기본 옵션도 있습니다.
https://docs.python.org/3/distutils/builtdist.html
코드 시작 부분에이 줄을 넣으면 운영 체제가 파이썬 스크립트 실행에 필요한 바이너리 프로그램을 찾도록 지시합니다. 즉, 파이썬 인터프리터입니다.
따라서 파이썬 인터프리터를 유지하는 운영 체제에 따라 다릅니다. 운영 체제로 Ubuntu가 /usr/bin/python
있으므로 Python 인터프리터가 유지 되므로 Python 스크립트 시작 부분에이 줄을 작성해야합니다.
#!/usr/bin/python
코드를 완료하고 저장 한 후
명령 터미널 시작
스크립트가 현재 작업 디렉토리에 있는지 확인하십시오.
유형
chmod +x script_name.py
이제 스크립트를 클릭하여 스크립트를 시작할 수 있습니다. 경고 상자가 나타납니다. 경고 상자에서 "실행"또는 "터미널에서 실행"을 누르십시오. 또는 터미널 프롬프트에서 다음을 입력합니다.
./script_name.py
실행 가능하게 만들고 싶다면 hello.py
먼저 다음을 사용하여 OS에서 Python이있는 경로를 찾습니다. which python
일반적으로 "/ usr / bin / python"폴더에 있습니다.
첫 번째 줄에 다음 hello.py
을 추가해야합니다.#!/usr/bin/python
그런 다음 Linux 명령을 통해 chmod
다음과 같이 실행 가능하게 만들어야합니다. chmod +x hello.py
및 실행 ./hello.py
이를 수행하는 또 다른 방법은 별칭을 만드는 것입니다. 예를 들어 터미널에서 다음을 작성하십시오.
alias printhello='python /home/hello_world.py'
쓰기 printhello
는 hello_world.py를 실행하지만 이것은 일시적입니다. 별칭을 영구적으로 만들려면 bashrc에 추가해야합니다. 터미널에 다음을 작성하여 편집 할 수 있습니다.
gedit ~/.bashrc
다음을 수행합니다.
- #! / usr / bin / env python3 at top of script
- chmod u + x file.py
- 파일 이름에서 .py를 .command로 변경하십시오.
이것은 본질적으로 파일을 bash 실행 파일로 바꿉니다. 두 번 클릭하면 실행됩니다. 이것은 Unix 기반 시스템에서 작동합니다.
먼저 코드 상단에 다음을 작성하십시오.
#usr/bin/python
또는 라는 #usr/bin/env python
새 .sh
파일을 만들고 다음을 작성하십시오 setup.sh
.
sudo apt-get install python python-pip
sudo chmod +x yourfile.py
sudo -H pip install librariesyouwant
따라서 파이썬이없는 문제를 제거하고 누락 된 패키지를 설치합니다. 바탕 화면 바로 가기를 만들려면 다음을 수행하십시오.
sudo cp yourfile.py ~/Desktop/
sudo chmod +x ~/Desktop/yourfile.py
GUI를 생성하도록 코드가 작성되지 않은 경우 터미널에서 코드를 실행해야합니다. ./yourfile.py
'IT박스' 카테고리의 다른 글
Django + Postgres : "현재 트랜잭션이 중단되고 트랜잭션 블록이 끝날 때까지 명령이 무시됩니다." (0) | 2020.10.29 |
---|---|
Angular에서 2 개의 모델을 하나의 입력 필드에 바인딩하는 방법은 무엇입니까? (0) | 2020.10.29 |
비주얼 모드의 텍스트 블록을 Vim의 파일에 어떻게 저장할 수 있습니까? (0) | 2020.10.29 |
JavaScript : 2 일 전 날짜를 계산하는 방법은 무엇입니까? (0) | 2020.10.29 |
자바 스크립트 캔버스로 이미지 크기 조정 (부드럽게) (0) | 2020.10.29 |