저는 파이썬으로 작성된 프로젝트를 채점하고 있습니다. 일부는 Python 2로 작성되었고 일부는 Python 3으로 작성되었습니다. 단순화를 위해 명령 행을 통해 등급을 매기려고 합니다만, 지금 당장은 Python 3에 기본 설정되어 있기 때문에 Python 2의 특정 구문으로 작성된 프로젝트는 작동하지 않습니다. 즉석에서 사용하고 싶은 Python 버전을 지정하는 쉬운 방법은 무엇입니까?커맨드 라인 인터프리터에서 Python 버전을 쉽게 전환 할 수 있습니까?
답변
당신은 Windows에서 파이썬 실행을 사용할 수
C:\> py some_script.py
Python launcher가 포함되어 있습니다 : 스크립트가 오두막을 가지고
C:\> py -2 some_script.py
경우 같은 #!/usr/bin/env python3
다음 런처가 자동으로 적절한 파이썬 버전 발견 최근의 Python 버전 (3.3 이후). 그렇지 않으면 별도로 설치할 수 있습니다.
또한 VIRTUALENV와 vex
유틸리티를 사용할 수 있습니다 py2
virualenv에 python some_script.py
을 실행
$ vex py2 python some_script.py
.
스크립트가 실행 권한 ($ chmod +x some-script
)가있는 경우 POSIX 시스템 (리눅스, OS의 X)에
그것은 유효한 오두막 같은 #!/usr/bin/python
다음 직접 실행할 수 있습니다
$ ./some-script
파이썬 버전 (또는 어떤 프로그램이 사용되는지)는 정의판에 의해 정의됩니다.
아름답고 파이썬 실행기는 내가 찾고있는 것입니다. 감사! – David
가장 좋은 방법은 virtualenv을 사용하는 것입니다.
두 번째로 좋은 방법은 파이썬 2에 python
, 파이썬 3에 python3
을 사용하도록 시스템을 설정하는 것입니다.
가장 좋은 방법은 모든 플랫폼에서 사용 가능한 conda 배포판을 사용하는 것입니다. 따라서 다른 파이썬 버전을 사용하는 경우에도 환경을 쉽게 전환 할 수 있습니다.당신이 환경 내에서 일단
source activate nameofpython2environment
당신이 패키지를 설치할 수 있습니다 :
다음conda create -n nameofpython2environment python=2 # creates a python 2 env
conda create -n nameofpython3environment python=3.3 # creates a python 3 env
주어진 환경에서 작동 그냥 수행
conda install numpy
사용 별칭 :
예를 들어,창문 :
set "py2= path-to-python2-interpreter"
다음 전화로 :
%py2%
맥에
의 :
alias py2='path-to-python2-interpreter'
다음 전화로 :
py2
리눅스에서는 Mac에서와 동일합니다.
참고 : 이러한 별칭은 터미널 창을 닫으면 저장되지 않습니다. 저장을 원할 경우 쉘이 시작할 때 읽는 설정 파일에 저장해야합니다.
나는 리눅스와 ~/.bashrc에 대해서만 알고 있습니다.
- 1. Grails 커맨드 라인 커맨드 라인
- 2. 파일을위한 Python 커맨드 라인 모듈
- 3. Python 커맨드 라인 체크 박스
- 4. Hadoop mapreduce python 커맨드 라인 인수
- 5. PyDev 내에서 Python 커맨드 라인 인터프리터를 실행
- 6. 커맨드 라인 에어 앱을 실행할 수 있습니까?
- 7. 커맨드 라인/터미널 3D 렌더링
- 8. Perl 커맨드 라인 인수
- 9. 커맨드 라인 svn
- 10. Eclipse 커맨드 라인 플러그인
- 11. 커맨드 라인 필터를 허용하는 편집기
- 12. 커맨드 라인 프로세스
- 13. dll의 최신 버전을 쉽게 업데이트 할 수 있습니까?
- 14. urllib3의 요청 된 버전을 쉽게 업그레이드 할 수 있습니까?
- 15. 커맨드 라인 인수와 argc
- 16. 리눅스 커맨드 라인 대 리눅스 커맨드 파이프 라인
- 17. 커맨드 라인 스크립트
- 18. 자바와 커맨드 라인 인수
- 19. 레일 및 캐싱, memcache와 redis를 쉽게 전환 할 수 있습니까?
- 20. vim 플러그인을 비활성화하려면 쉽게 전환 할 수 있습니까?
- 21. .net 배포에서 sharpdevelop로 웹 참조를 쉽게 전환 할 수 있습니까?
- 22. C++에서 쉽게 산술 사이를 전환 할 수 있습니까?
- 23. 커맨드 라인 인수의 공백
- 24. Junit - 커맨드 라인 인수
- 25. 커맨드 라인 인수가 R
- 26. Java 커맨드 라인 컴파일
- 27. 커맨드 라인 어시스트
- 28. 자바 커맨드 라인 실행
- 29. 오이커 메이븐 커맨드 라인
- 30. 커맨드 라인 인수 전달
어떤 플랫폼을 사용하고 계십니까? 가장 쉬운 대답은 Windows와 Unix 사이에 다르며 다른 유닉스 시스템들 사이의 세부 사항은 다르다. (예를 들어 ARC 리눅스에서 당신은'python'과'python2'를 가지고 있고, OSX에서는'python3'과'python'을 가지고있다. 몇몇 리눅스 박스에서는'python3'과'python2'를 가지고 있고 어느 것이'평범한'python'인지를 제어 할 수 있습니다 ...). – abarnert
ARC Linux에 대한 @abarnert? 아치 리눅스를 말하는 겁니까? – Veedrac
@Veedrac : 네, 고마워요. ARC 리눅스는 당연히 ARC 프로세서 용 리눅스입니다 ... – abarnert