Python 3.6을 설치하는 방법은 무엇입니까?

Python 3.6을 설치하는 방법은 무엇입니까?

저는 이 글을 쓰는 시점에 3.6인 최신 Python을 설치하고 싶습니다. 그러나 저장소에는 Python 3.4.2가 최신 버전이라고 나와 있습니다.

나는 시도했다:

$ sudo apt-get update
$ sudo apt-get install python3

python3 is already the newest version.

$ python -V

Python 3.4.2

Windows 워크스테이션에서 Python 3.6으로 업그레이드하려면 exe를 다운로드하고 "다음"을 몇 번 클릭하면 완료되었습니다. Debian Jessie에 Python 3.6을 설치하는 데 공식적으로 허용되는 올바른 절차는 무엇입니까?

답변1

Python-3.6다음과 같이 Debian 8에 설치할 수 있습니다 :

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6

make altinstall팔로우하는 것이 좋습니다공식 웹 사이트.

이를 포함 하려면 구성 호출에 pip추가해야 합니다 . --with-ensurepip=install자세한 내용은 을 참조하십시오 ./configure --help.

경고: make installPython 바이너리는 덮어쓰거나 위장될 수 있습니다. 따라서 설치만 하므로 make altinstall설치하지 않는 것이 좋습니다 .make installexec_prefix/bin/pythonversion

알려진 문제를 방지하려면 일부 패키지를 설치해야 합니다. 다음을 참조하세요.일반적인 빌드 문제(고쳐 쓰다)

우분투/데비안:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev

libreadline-dev의 대안:

sudo apt install libedit-dev

페도라/CentOS/RHEL(aws ec2):

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel

openssl-devel의 대안:

sudo yum install compat-openssl10-devel --allowerasing

고쳐 쓰다

python-x.y.z.tar.gz최신 버전은 다음에서 다운로드할 수 있습니다.여기.

update-alternatives기본 Python 버전을 설정하고 버전 간에 쉽게 전환하려면 여러 Python 버전으로 업데이트 해야 합니다 .

debianstretch에 설치 했다고 가정하고 바이너리 찾기( ) python3.7명령을 사용합니다 . 예를 들어:whereis python*/bin/python

/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5

Python 버전 추가:

update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30

python3.7이제 우선순위 는 50기본 Python이며 python -V다음과 같이 인쇄됩니다.

Python 3.7.0b2

이들 사이를 전환하려면 다음을 사용하십시오.

update-alternatives --config python

예제 출력:

There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/python3.7   50        auto mode
  1            /usr/bin/python2.7         40        manual mode
  2            /usr/bin/python3.5         30        manual mode
  3            /usr/local/bin/python3.7   50        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

답변2

편집자 주:
경고하다: 이 답변은 데비안의 향후 버전에서 Python을 설치하는 방법을 보여줍니다. 이것시스템의 혼합 데비안 버전을 생성합니다., Python에만 영향을 미치지 않습니다. 대부분의 경우 이러한 지시문을 적용하면 최신 라이브러리도 가져올 수 있습니다. 업데이트된 패키지의 경우 최종 설정에서는 예상과 동일한 속도로 보안 업데이트의 이점을 누릴 수 없습니다. 이것은 ... 불리운다프랑켄데비안.

특히 이 질문에 대한 다른 답변을 고려해보세요.이것은 소스에서 빌드하는 방법을 보여줍니다., 그리고가상 환경을 사용하는 방법을 보여줍니다..


Python 3.6은 데비안 저장소에서는 사용할 수 없지만 테스트에서는 사용할 수 있습니다.

$ sudo nano /etc/apt/sources.list
# add
deb http://ftp.de.debian.org/debian testing main
$ echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf.d/00local
$ sudo apt-get update
$ sudo apt-get -t testing install python3.6
$ python3.6 -V

귀하는 다음을 요청합니다:

정확하고 공식적으로 승인된 절차

그러나 이것이 테스트 저장소를 사용하기 때문에 공식적인 솔루션이 아니라는 점을 지적해야 합니다.

답변3

공식적인 조언은 "실제로 업데이트된 소프트웨어가 필요하지 않습니다"입니다.

Shiny New Thing 증후군으로 고통받지 마세요 - DontBreakDebian Wiki |

이 페이지에 있는 대부분의 조언은 소프트웨어를 시스템 전체에서 사용할 수 있도록 하려는 경우 수행할 작업에 대한 것이지만 이 경우에는 필요하지 않다고 생각합니다.

Python 소스 코드를 가져오고 3.6 인터프리터를 빌드하여 --prefix끝 부분을 제어한 다음 virtualenv해당 --python옵션을 사용하면 프로젝트 외부에 영향을 주지 않고 Python 3.6을 사용할 수 있습니다.

프로세스는 다음과 같습니다.

$ cd ~
$ mkdir pythonroot
$ mkdir opt
$ mkdir app
$ cd opt
$ wget <python tarball>
$ tar -xvf <python tarball>
$ cd python-3.6
$ ./configure --prefix="$HOME"/pythonroot
$ make
$ make install
$ cd ~
$ cd app
$ virtualenv venv --python ~/pythonroot/bin/python
$ . venv/bin/activate
[venv]$ which python
/home/<user>/pythonroot/bin/python

이 작업을 계획하고 있다면 고려해 볼 수도 있습니다.--enable-optimizations배너Python configure스크립트에서는 프로필 부팅 최적화와 같은 일부 기능을 활성화하는 것 같습니다. 빌드 시간이 늘어나지만 일부 벤치마크에 따르면 인터프리터가 약 10% 더 빠른 것으로 보입니다.

답변4

내가 선호하는 방법은파이썬또는미니 콘다최신 버전의 Python과 패키지를 Debian에 설치해 두세요.

모든 내용은 폴더에 깔끔하게 보관되며 나중에 필요할 경우 쉽게 삭제할 수 있습니다. 설치 프로그램은 bashrc에 경로도 추가합니다(다른 쉘을 사용하는 경우 직접 추가).

numpy와 같은 더 복잡한 패키지에 적합한 또 다른 패키지 관리자인 pip 및 conda가 함께 제공됩니다. Miniconda는 간단한 설치인 반면 Anaconda는 주로 데이터 분석에 사용되는 많은 패키지가 포함된 완전한 설치입니다.

빠르게:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

bash를 사용하여 경로를 추가하지 않는 경우 라이센스를 읽고 동의하십시오.export PATH="/home/$USER/miniconda3/bin:$PATH"

시험:

$ python --version
Python 3.6.0 :: Continuum Analytics, Inc.

PyPi에서 설치:

# pip install fava

Conda에서 설치:

# conda install numpy

제거하고 싶다면 ~/miniconda3bashrc에서 폴더와 경로를 삭제하세요.

관련 정보