어떤 버전의 Python을 찾을 수 있습니까?
우분투 14.04 (Trusty Tahr)를 사용하고 있습니다.
ls /usr/bin/python*
(또는 ls /usr/bin/*python*
당신이 경우 실제로 사용하여 파일을 원하는 python
어디서나 이름으로). 이렇게 ls
하면 터미널의 출력 형식을 계속 지정할 수 있습니다 ( ls
우분투 의 기본 별명 으로 여러 열을 얻음 ).
어떤 버전의 Python을 찾을 수 있습니까?
우분투 14.04 (Trusty Tahr)를 사용하고 있습니다.
ls /usr/bin/python*
(또는 ls /usr/bin/*python*
당신이 경우 실제로 사용하여 파일을 원하는 python
어디서나 이름으로). 이렇게 ls
하면 터미널의 출력 형식을 계속 지정할 수 있습니다 ( ls
우분투 의 기본 별명 으로 여러 열을 얻음 ).
답변:
python -V
(et al.)을 사용 하여 python
명령이 해결되는 Python 버전을 표시 할 수 있습니다. 그게 전부라면 끝났습니다. 그러나 시스템의 모든 버전의 파이썬을 보는 데 조금 더 걸립니다.
우분투에서는로 해상도를 확인할 수 있습니다 readlink -f $(which python)
. 14.04의 기본 경우에는 단순히를 가리 킵니다 /usr/bin/python2.7
.
이 버전을 연결하여 해당 버전의 Python 버전을 표시 할 수 있습니다.
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
그러나 이것은 여전히 우리의 현재 python
결의안을 알려줍니다 . 우리가 Virtualenv (일반적인 파이썬 스택 관리 시스템) python
에 있다면 다른 버전으로 해결할 수 있습니다.
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
이것은 실제 출력입니다.
사실 상황에 따라 추가되거나 다른 이진 이름 (예 :)으로 시스템에 숨겨져있는 수백 가지 버전의 Python이 시스템 주위에 숨겨져있을 수 있습니다 python3
.
파이썬 바이너리가 항상 호출 python<something>
되고 바이너리 파일 이라고 가정 하면 전체 시스템에서 해당 기준과 일치하는 파일을 검색 할 수 있습니다.
$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; | awk -F: '/x-executable; charset=binary/ {print $1}' | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
/media/ned/websites/venvold/bin/python: Python 2.7.4
/srv/chroot/precise_i386/usr/bin/python2.7: Python 2.7.3
/srv/chroot/trusty_i386/usr/bin/python2.7: Python 2.7.6
/srv/chroot/trusty_i386/usr/bin/python3.4: Python 3.4.0
/srv/chroot/trusty_i386/usr/bin/python3.4m: Python 3.4.0
/usr/bin/python2.7: Python 2.7.6
/usr/bin/python2.7-dbg: Python 2.7.6
/usr/bin/python3.4: Python 3.4.0
/usr/bin/python3.4dm: Python 3.4.0
/usr/bin/python3.4m: Python 3.4.0
/web/venvold/bin/python: Python 2.7.4
분명히 꽤 끔찍한 명령이지만 이것은 다시 실제 출력이며 상당히 철저한 작업을 한 것으로 보입니다.
readlink: extra operand '/usr/bin/python2.7'
Try 'readlink --help' for more information.
python -v
버전을 반환하고 루트로 실행 한다고 가정했습니다 . 그것은 긴 것들의 목록을 인쇄했지만 맨 위에 말했고 installing zipimport hook
지금은 나가는 방법을 모르는 프로그램에있는 것처럼 보입니다. 당신이 나를 도울 수 있습니까
-V
version 플래그는 대소 문자를 구분합니다. python -v
자세한 메시지가 설정된 Python 콘솔에 넣으십시오. 제어 + D 나가십시오. 또는 쓰고 exit()
Return을 누르십시오.
터미널 ( Ctrl+ Alt+ T)에 다음을 입력하십시오 .
python -V
또는
python --version
터미널에서 많은 명령에 대한 옵션 / 매개 변수 목록을 찾을 수 있습니다-명령 다음에 --help
예:
python --help
표시 할 수있는 등 CLI의 대부분도 가능 수동 / 맨 페이지 man <command>
(예 : man python
)
보낸 사람 man python
:
COMMAND LINE OPTIONS
-V , --version
Prints the Python version number of the executable and exits.
python3
많은 컴퓨터 에도 설치되어 있으므로 다음을 수행 할 수 있습니다.
python3 --version
실행중인 python 3.x를 찾으십시오.
python
터미널에서 실행하면 다음 과 같은 출력이 생성됩니다.
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
첫 번째 줄을 참조하십시오 Python 2.7.6
.
또한 실행하십시오 python3
. 나는 3.4.1
Python 3.4.1 (default, Jul 31 2014, 12:46:17)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
그러나 이것은 당신에게 그들 모두를 보여주지는 않을 것입니다. 둘 이상의 python 3.Xx 버전이있는 경우 최신 버전 만 표시됩니다.
기본적으로 14.04에는 2.7.6 및 3.4.0이 있습니다. 보시다시피 3.4.1로 업데이트되었습니다. 나는에 내가 갈 때 때문에 나는 아직도 3.4.0이 알고 /usr/bin
내가보고 python3.4
, 내가 실행하면 /usr/bin/python3.4
명령 줄에서, 나는 3.4.0를 얻고, 실행은 /usr/local/bin/python3.4
나에게 3.4.1를 제공합니다
내 대명사는
PATH
환경 변수 에서 가장 먼저 포함 디렉토리를 가진 디렉토리를 표시하지 않습니까? 실행이 python3
항상 설치된 python3 의 최고 (하위) 버전을 실행하는 이유는 무엇 입니까? 또는 실제로 /usr/bin/python3
심볼릭 링크가 가리키는 버전 중 최신 버전이 아닌 버전은 표시 되지 않습니까?
/usr/bin
하나 에서 가져옵니다 ...
env
hashbang 라인에서 찾을 수있는 시스템이 될 수있다 해석 중을 -Python 스크립트 에서 공통적으로 선호 됨 ). 그것이 어떤 프로그램과 다른 프로그램의 차이점에 의해 당신이 무엇을 의미하는지 확실하지 않습니다.
platform
표준 라이브러리의 모듈을 사용하여 코드 자체에서 Python 버전을 확인할 수도 있습니다. platform.python_version()
(문자열 반환) 및 platform.python_version_tuple()
(튜플 반환 )의 두 가지 기능이 있습니다 . 스크립트:
import platform
print(platform.python_version())
print(platform.python_version_tuple())
달리는:
$ python test.py
3.4.1
('3', '4', '1')
$ python2.7 test.py
2.7.8
('2', '7', '8')
sys.version
이나 sys.version_info
.
명령으로 사용 가능한 모든 버전의 Python을 보려면을 실행하십시오 compgen -c python
. 예 :
$ compgen -c python
python2.7
python3.4m
python3.4
python3m
python
python3
python2
위의 각 버전을 얻으려면 하나의 라이너가 있습니다.
$ for p in $(compgen -c python); do printf "%-16s" $p; $p --version; done
python2.7 Python 2.7.6
python3.4m Python 3.4.3
python3.4 Python 3.4.3
python3m Python 3.4.3
python Python 2.7.6
python3 Python 3.4.3
python2 Python 2.7.6
python*-config
python*-config
프로그램이 --version
플래그를 지원하지 않는 것으로 나타났습니다 . 예를 들면 다음과 같습니다.
$ python3-config --version
Usage: /usr/bin/python3-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir
따라서 다음과 같이 필터링 할 수 있습니다 grep -v
.
compgen -c python | grep -v -- '-config$'
터미널을 쉽게 열고 다음을 수행하십시오.
쓰다
python
내 2.x 버전을 확인하려면 다음과 같이 나타납니다.
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
3.x의 경우 다음과 같이 작성하십시오.
python3
내 경우에는 다음과 같이 나타납니다.
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
두 경우 모두 Python 셸에서 나가려면 다음과 같이 작성하십시오.
exit()
쉘 터미널에서
$ which -a python
모든을 나열합니다 python
.
$ which -a python2.7
모든을 나열합니다 python2.7
.
$ /usr/bin/python -V
의 버전에 대한 정보를 제공합니다 /usr/bin/python
.
파이썬 스크립트 체크인
다음은 ipython 쉘의 ilustration입니다.
In [1]: import sys
In [2]: sys.version
2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec 6 2015, 18:08:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
In [3]: sys.version_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)
In [4]: sys.version_info >= (2,7)
Out[4]: True
In [5]: sys.version_info >= (3,)
Out[5]: False
python -v
버전을 반환하고 루트로 실행 한다고 가정했습니다 . 그것은 긴 것들의 목록을 인쇄했지만 맨 위에 말했고 installing zipimport hook
지금은 나가는 방법을 모르는 프로그램에있는 것처럼 보입니다. 당신이 나를 도울 수 있습니까
ls /usr/bin | grep python