저는 이 글을 쓰는 시점에 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 install
Python 바이너리는 덮어쓰거나 위장될 수 있습니다. 따라서 설치만 하므로make altinstall
설치하지 않는 것이 좋습니다 .make install
exec_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
제거하고 싶다면 ~/miniconda3
bashrc에서 폴더와 경로를 삭제하세요.