-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
INTERNAL: Force to use python version 2 that is 2.6 or higher in build.sh #64
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
README에는 python 2.6 이상이 필요하다고 되어 있어서 README를 수정할지, 아니면 build 스크립트에서 Python 2.6도 허용할지 정해야 합니다.
별도로 README나 build.sh를 수정하지 않아도 괜찮을 것으로 생각합니다.
python 2.6이 설치되어 있으면 python2
명령으로 분기될 것이기 때문입니다.
그러나 향후에는 Python 3 버전에 대한 지원이 가능해질 수도 있기 때문에 아래의 선택지 중 하나를 고를 수 있습니다.
Python3 지원 시에는 build.sh이나 arcus.sh이 아닌 다른 방법으로 지원하게 될 확률이 높아서, 현재 시점에서는 PR과 같은 변경이면 충분하다고 생각합니다.
첫번째 코멘트의 |
두 방법 모두 크게 문제 없을 것 같고, README 수정하는 것이 더 간단해 보입니다. |
cd23a22
to
a652ecb
Compare
Python 2.6 이상이 필요하다고 명시되어 있는 문서를 2.7이 필요하다고 변경했습니다. |
@uhm0311 본 PR과 관련된 이슈 링크를 올려주세요. |
#43 |
|
@uhm0311 |
첫 코멘트의 |
3c2010d
to
5310015
Compare
오프라인 리뷰 반영하여 python 2.6 이상의 버전을 사용할 수 있도록 했습니다. |
아래의 commit message로 변경합시다.
|
추가 사항으로, |
5310015
to
9315b08
Compare
패키지 관리자에서 흔히 표현하는 방식을 사용하도록 했습니다. |
|
9315b08
to
39c3df5
Compare
|
@uhm0311 |
39c3df5
to
a6c9bec
Compare
수정했습니다. |
build.sh에서 python 2.7을 찾을 수 없으면 스크립트를 종료하도록 했습니다.
Binary 파일 탐색
위 코드는 which 명령어로 python 2.7 -> python2 -> python 순서대로 python 바이너리 파일을 찾는 것입니다.
which 명령어가 실패하면 에러 메세지는 출력이 되지 않도록
2>/dev/null
를 넣었습니다.2>/dev/null
가 중복이 되기 때문에 변수로 만들어서 사용하려고 했는데, 원인은 파악하지 못했지만 변수로 사용하면 다음과 같은 문제가 있어서 하드 코딩 했습니다.2>/dev/null
를 변수로 사용하지 않는 경우2>/dev/null
를 변수로 두고 사용하는 경우Python 버전 검사
sys.version_info
는 python 바이너리의 버전을 담고 있는 Array 입니다.[0]에는 Major 버전, [1]에는 Minor 버전, [2]에는 Build 버전이 들어갑니다.
예를 들어 python 2.7.3인 경우
[0] = 2, [1] = 7, [2] = 3
입니다.python의 2.x.x 버전은 2.7.x 버전이 최신이므로 2.7.x 버전인지 아닌지 검사하는 것입니다.
추가 논의 사항
Python 버전 검사 관련
README에는 python 2.6 이상이 필요하다고 되어 있어서 README를 수정할지, 아니면 build 스크립트에서 Python 2.6도 허용할지 정해야 합니다.
Python 버전에 따른 분기 관련
기존 빌드 스크립트에서는 Python이 3.x.x 버전인지 아닌지에 따라 분기를 하도록 되어 있습니다.
Python 3 버전으로도 build 스크립트는 잘 구동됩니다.
그러나 이미 알려진 이슈로, #43 Python 3를 통해 arcus.sh 스크립트를 사용하면 아래와 같은 에러 메세지가 출력됩니다.
즉, build 스크립트에서 Python 버전이 3인지 아닌지는 고려할 대상이 아닙니다.
3이라면 arcus.sh 스크립트를 사용할 수 없기 때문입니다.
그러나 향후에는 Python 3 버전에 대한 지원이 가능해질 수도 있기 때문에 아래의 선택지 중 하나를 고를 수 있습니다.