내 linuxbox에 두 가지 버전의 Python이 있습니다.
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
2.7을 기본 버전으로 만들려면 어떻게하면 2.7에 입력 python
할 수 있습니까?
답변
실제로 기본 Python을 변경하고 싶지는 않을 것입니다.
배포판이에서 표준 시스템 Python을 설치했으며 /usr/bin
,이 존재하고 #! /usr/bin/env python
. 당신은 할 수 있습니다 일반적으로 2.7 파이썬 2.6 스크립트를 실행하는 도망,하지만 당신은 위험을 감수 하시겠습니까?
게다가, 원숭이를 사용 /usr/bin
하면 패키지 관리자의 패키지 관리 기능이 손상 될 수 있습니다. 그리고 디렉토리의 순서를 바꾸면 PATH
파이썬 외에도 많은 영향을받습니다. (사실, /usr/local/bin
앞서있는 것이 더 일반적 /usr/bin
이며 실제로 원하는 것일 수 있습니다. 그러나 다른 방법으로 가지고 있다면 아마도 그럴만 한 이유가있을 것입니다.)
그러나 .NET을 입력 할 때 시스템이 2.7을 실행하도록하기 위해 기본 Python을 변경할 필요 는 없습니다 python
.
먼저 셸 별칭을 설정할 수 있습니다.
alias python=/usr/local/bin/python2.7
프롬프트에 입력하거나 ~/.bashrc
변경 사항을 지속 하려면 입력 python
하십시오. 이제 입력 하면 선택한 2.7이 실행되지만 시스템의 일부 프로그램이 스크립트를 실행하려고 할 /usr/bin/env python
때 표준 2.6을 실행합니다.
또는 2.7 (또는 다른 프로젝트에 대해 별도의 venv)에서 가상 환경을 만들고 venv 내에서 작업을 수행하십시오.
답변
추가 /usr/local/bin
귀하에게 PATH
이전의 목록에서 환경 변수 /usr/bin
.
일반적으로 이것은 쉘의 rc 파일에서 수행됩니다. 예를 들어 bash의 경우 다음과 같이 입력합니다 .bashrc
.
export PATH="/usr/local/bin:$PATH"
이것은 쉘이 python
in /usr/local/bin
과 함께 가기 전에 먼저 in 을 찾습니다 /usr/bin
.
(물론, 이것은 당신이 또한 /usr/local/bin/python
point to가 필요하다는 것을 의미합니다 python2.7
-만약 그것이 아직 없다면, 당신은 그것을 symlink해야 할 것입니다.)
답변
명령을 입력하십시오
which python
//output:
/usr/bin/python
cd /usr/bin
ls -l
여기에서 이와 같은 것을 볼 수 있습니다.
lrwxrwxrwx 1 root root 9 Mar 7 17:04 python -> python2.7
기본 python2.7은 텍스트 ‘python’에 소프트 링크됩니다.
따라서 소프트 링크 파이썬을 제거하십시오.
sudo rm -r python
그런 다음 위의 명령을 다시 시도하십시오.
ls -l
소프트 링크가 제거 된 것을 볼 수 있습니다.
-rwxr-xr-x 1 root root 3670448 Nov 12 20:01 python2.7
그런 다음 python3.6 용 새 소프트 링크를 만듭니다.
ln -s /usr/bin/python3.6 파이썬
그런 다음 python
터미널 에서 명령 을 시도하십시오.
//output:
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
입력 help
, copyright
, credits
또는 license
더 많은 정보를 얻을 수 있습니다.
답변
다음을 통해 현재 Python 버전을 확인합니다.
$ python --version
그런 다음 파이썬이 어떤 파일에 대한 심볼릭 링크인지 확인하십시오.
$ ll /usr/bin/python
출력 예 :
lrwxrwxrwx 1 root root 9 Jun 16 2014 /usr/bin/python -> python2.7*
사용 가능한 다른 Python 버전을 확인하십시오.
$ ls /usr/bin/python*
출력 예 :
/usr/bin/python /usr/bin/python2.7-config /usr/bin/python3.4 /usr/bin/python3.4m-config /usr/bin/python3.6m /usr/bin/python3m
/usr/bin/python2 /usr/bin/python2-config /usr/bin/python3.4-config /usr/bin/python3.6 /usr/bin/python3.6m-config /usr/bin/python3m-config
/usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4m /usr/bin/python3.6-config /usr/bin/python3-config /usr/bin/python-config
현재 버전의 파이썬을 3.6 버전으로 변경하려면 ~ / .bashrc 파일을 편집하십시오.
vim ~/.bashrc
파일 끝에 아래 줄을 추가하고 저장하십시오.
alias python=/usr/local/bin/python3.6
Python 3.6 용 pip를 설치하려면
$ sudo apt-get install python3.6 python3.6-dev
$ sudo curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python3.6
$ sudo easy_install pip
성공하면 현재 버전의 pip를 확인하십시오.
$ pip3 -V
출력 예 :
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.6)
답변
모든 OS는 기본 버전의 python과 함께 제공되며 / usr / bin에 있습니다. OS와 함께 제공되는 모든 스크립트 (예 : yum)는 / usr / bin에있는이 버전의 Python을 가리 킵니다. 새 버전의 python을 설치할 때 새 버전의 python에서 작동하지 않을 수있는 기존 스크립트를 깨뜨리고 싶지 않습니다.
이를 수행하는 올바른 방법은 Python을 대체 버전으로 설치하는 것입니다.
e.g.
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar xf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure --prefix=/usr/local/
make && make altinstall
이제 이렇게하면 yum과 같은 기존 스크립트가 / usr / bin / python에서 계속 작동합니다. 기본 파이썬 버전은 / usr / local / bin에 설치된 버전입니다. 즉, 파이썬을 입력하면 2.7.3을 얻게됩니다.
이것은 발생합니다. $ PATH 변수에는 usr / bin 앞에 / usr / local / bin이 있습니다.
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
python2.7이 여전히 기본 Python 버전으로 적용되지 않으면 수행해야합니다.
export PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
답변
2.7 버전을 수동으로 설치했지만 2.6은 패키지에서 가져온 것 같습니다.
간단한 대답은 : python 패키지를 제거하는 것입니다.
더 복잡한 것은 다음과 같습니다. / usr / local에 수동으로 설치하지 마십시오. 2.7 버전으로 패키지를 빌드 한 다음 업그레이드하십시오.
패키지 처리는 사용하는 배포에 따라 다릅니다.