LAB istasyonlarımdan birinde Python 2.7.11 kurulu. Python'u en az 3.5'e yükseltmek istiyorum.
Bunu nasıl yapmalıyım? 2.7.11'i tamamen kaldırmayı ve yenisini yüklemeyi tercih etmeli miyim? Güncellemenin bir yolu var mı? Güncelleme iyi bir fikir mi?
LAB istasyonlarımdan birinde Python 2.7.11 kurulu. Python'u en az 3.5'e yükseltmek istiyorum.
Bunu nasıl yapmalıyım? 2.7.11'i tamamen kaldırmayı ve yenisini yüklemeyi tercih etmeli miyim? Güncellemenin bir yolu var mı? Güncelleme iyi bir fikir mi?
Yanıtlar:
Python'un her küçük sürümü, yani herhangi bir 3.x ve 2.x sürümü, bilgisayarınızdaki diğer sürümlerle yan yana kurulacaktır. Yalnızca yama sürümleri mevcut kurulumları yükseltecektir.
Dolayısıyla, kurulu Python 2.7'nizi etrafta tutmak istiyorsanız, o zaman bırakın ve yükleyiciyi kullanarak yeni bir sürüm kurun. Python 2.7'den kurtulmak istiyorsanız, daha yeni bir sürümü kurmadan önce veya sonra kaldırabilirsiniz - bunda bir fark yoktur.
Mevcut Python 3 kurulumları py.exe
, varsayılan olarak sistem dizinine yüklenen başlatıcıyla birlikte gelir . Bu, PATH'den kullanılabilir olmasını sağlar, böylece komut py
yerine kullanarak herhangi bir kabuktan otomatik olarak çalıştırabilirsiniz python
. Bu, mevcut Python kurulumunu PATH içine kendiniz koymanız gerekliliğini ortadan kaldırır. Bu şekilde, yan yana birden çok Python kurulumuna, birbirlerini engellemeden kolayca sahip olabilirsiniz. Çalışırken, başlatıcıyı kullanmak py script.py
yerine python script.py
kullanın. Örneğin, py -3
veya py -3.6
belirli bir sürümü başlatmak için bir sürüm de belirtebilirsiniz , aksi takdirde başlatıcı mevcut varsayılanı kullanır (bu genellikle en son 3.x olacaktır).
Başlatıcıyı kullanarak, Python 2.7 kurulumunuzu sürdürmeye karar verirseniz, Python 2 komut dosyalarını da çalıştırabilirsiniz (bunlar genellikle sözdizimi Python 3 ile uyumlu değildir). Sadece py -2 script.py
bir komut dosyası başlatmak için kullanın .
PyPI paketlerine gelince, her Python kurulumu, modüllerin kurulu olduğu kendi klasörüyle birlikte gelir. Dolayısıyla, yeni bir sürüm yüklerseniz ve önceki bir sürüm için kurduğunuz modülleri kullanmak isterseniz, bunları yeni sürüm için önce yüklemeniz gerekecektir. Yükleyicinin güncel sürümleri ayrıca kurmanızı da önerir pip
; varsayılan olarak etkindir, yani pip
her kurulum için zaten var . PATH'e açıkça bir Python kurulumu eklemediğiniz sürece, sadece kullanamazsınız pip
. Neyse ki, bunun için py.exe
başlatıcıyı da kullanabilirsiniz : py -m pip
çalışır pip
. Örneğin, Beautiful Soup for Python 3.6'yı kurmak için çalıştırabilirsiniz py -3.6 -m pip install beautifulsoup4
.
py -3.7-64
veyapy -3.7-32
py
için Python Launcher'dır . Veya onu tanımlayan PEP 397'ye bakın . Linux / Mac için yüklenmez.
Python 2.7.16'ya sahip olduğunuzu varsayalım:
C:\Windows\system32>python --version
python2 2.7.16
... ve (şimdi güncel olan) 3.xy sürümüne yükseltmek istiyorsunuz. Windows paket yönetim aracı kullanarak paralel bir Python 3.xy yüklemesi kurmanın basit bir yolu vardır .
Artık modern Windows, Debian Linux dağıtımlarının apt-get'e sahip olduğu ve RedHat'ın dnf'ye sahip olduğu gibi paket yönetimine sahip olduğuna göre: bizim için çalışmasını sağlayabiliriz! Adı Chocolatey .
Chocolatey, .NET 4.0 ve Visual Studio'da oluşturulan nuget paket yöneticisini temel alan komut dosyası yazılabilir, komut satırı aracıdır.
Chocolatey hakkında bilgi edinmek ve onu neden kullanacağınızı öğrenmek istiyorsanız, burada okuyan bazılarının özellikle yararlı bulabileceği, https://chocolatey.org/docs/why adresine gidin.
Chocolatey Paket Yöneticisini edinmek için, https://chocolatey.org/docs/installation#installing-chocolatey ,
Bunu sizin için burada özetleyeceğim. Temelde iki seçenek vardır: cmd istemini kullanma veya PowerShell istemini kullanma.
Bir yönetimsel komut istemi başlatın. Windows 10'da bunu yapmak için:
Sistemde yönetici haklarınız yoksa Chocolatey web sitesine gidin . Tamamen şanssız olmayabilir ve sınırlı bir yerel kurulum gerçekleştirebilirsiniz, ancak bunu burada ele almayacağım.
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Chocolatey sizin için aşağıdaki şekilde indirilecek ve yüklenecektir:
Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.11.
Downloading 7-Zip commandline tool prior to extraction.
Extracting C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\blahblahblah\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
(i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.
Creating Chocolatey folders if they do not already exist.
WARNING: You can safely ignore errors related to missing log files when
upgrading from a version of Chocolatey less than 0.9.9.
'Batch file could not be found' is also safe to ignore.
'The system cannot find the file specified' - also safe.
chocolatey.nupkg file not installed in lib.
Attempting to locate it from bootstrapper.
PATH environment variable does not have C:\ProgramData\chocolatey\bin in it. Adding...
WARNING: Not setting tab completion: Profile file does not exist at 'C:\Users\blahblahblah\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder
Ya çıkın CMD istemi veya ortam değişkenleri yeniden yüklemek için aşağıdaki komutu yazın:
refreshenv
PowerShell'i cmd istemine tercih ederseniz, bunu doğrudan oradan yapabilirsiniz, ancak PowerShell'e çalışmasını sağlamak için uygun bir komut dosyası yürütme ilkesiyle çalışmasını söylemeniz gerekir. Windows 10'da, bunu yapmanın en basit yolu aşağıdakileri Windows düğmesinin yanındaki Cortana arama çubuğuna yazmaktır:
PowerShell.exe
Ardından, açılan menüden 'En İyi Eşleşme' seçeneğine sağ tıklayın ve 'Yönetici Olarak Çalıştır'ı seçin.
Artık PowerShell'de olduğunuza göre, umarız Yönetici ayrıcalıklarıyla çalışırsınız, Chocolatey'i yüklemek için aşağıdakileri uygulayın:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
PowerShell sizin için Chocolatey'i indirecek ve kurulumu başlatacaktır. Sadece birkaç dakika sürer. Tam olarak CMD kurulumuna benziyor , belki bazı süslü renkli metinleri kaydedin.
Ya Çık PowerShell veya ortam değişkenleri yeniden yüklemek için aşağıdaki komutu yazın:
refreshenv
Choco komutu, PowerShell veya cmd istemini kullanıyor olsanız da aynıdır. Yukarıdaki talimatları kullanarak favorinizi başlatın. Yönetici cmd istemini kullanacağım:
C:\WINDOWS\system32>choco upgrade python -y
Esasen, chocolatey 2.7.x'ten geldiğiniz için size "Hey, Python kurulu değil" diyecektir ve 2.7 sürümünü tamamen ayrı olarak ele alır . O edilir sadece size 3.xy en güncel sürümünü verecek (bu yazının, 3.7.2 itibariyle, ama bu birkaç ay içinde değişecek):
Chocolatey v0.10.11
Upgrading the following packages:
python
By upgrading you accept licenses for the packages.
python is not installed. Installing...
python3 v3.x.y [Approved]
python3 package files upgrade completed. Performing other installation steps.
Installing 64-bit python3...
python3 has been installed.
Installed to: 'C:\Python37'
python3 can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The upgrade of python3 was successful.
Software installed as 'exe', install location is likely default.
python v3.x.y [Approved]
python package files upgrade completed. Performing other installation steps.
The upgrade of python was successful.
Software install location not explicitly set, could be in package or
default install location if installer.
Chocolatey upgraded 2/2 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Ya cmd / Powershell komut isteminden çıkıp tekrar girin ya da refreshenv'i kullanın ve ardından py --version yazın
C:\Windows\System32>refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait...Finished..
C:\Windows\system32>py --version
Python 3.7.2
En son Python kurulumunun artık komut satırına Python yazdığınızda devreye gireceğini unutmayın. Aşağıdaki komutları kullanarak her iki sürümü de çalıştırabilirsiniz:
py -2
Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\>py -3
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>exit()
C:\>
Buradan ihtiyacınız olan paketleri kurmak için Python pip yardımcı programını kullanmanızı öneririm . Örneğin, Flask'ı kurmak istediğinizi varsayalım. Aşağıdaki komutlar önce pip'i yükseltin, ardından Flask'ı yükleyin
C:\>py -3 -m pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/d8/f3/413bab4ff08e1fc4828dfc59996d721917df8e8583ea85385d51125dceff/pip-19.0.3-py2.py3-none-any.whl (1.4MB)
100% |████████████████████████████████| 1.4MB 1.6MB/s
Installing collected packages: pip
Found existing installation: pip 18.1
Uninstalling pip-18.1:
Successfully uninstalled pip-18.1
Successfully installed pip-19.0.3
c:\>py -3 -m pip install Flask
... hile yapacak. Mutlu Pythoning!
Herhangi bir 3.xy'yi 3.xz (yama) Python sürümüne yükseltiyorsanız, Python indirme sayfasına gidin ve en son sürümü edinin ve kurulumu başlatın. Halihazırda makinenizde Python kurulu olduğundan, kurulum programı sizden "Şimdi Yükselt" yapmanızı isteyecektir. Bu düğmeye tıklayın ve mevcut sürümü yenisiyle değiştirecektir. Ayrıca kurulumdan sonra bilgisayarı yeniden başlatmanız gerekecektir.
3.x'ten 3.y'ye (küçük) yükseltme yapıyorsanız, "Şimdi Kur" sorulacak. Bu durumda, yükseltme yapmıyorsunuz, ancak Python'un yeni bir sürümünü yüklüyorsunuz. Makinenizde birden fazla sürüm kurulu olabilir. Farklı dizinlerde yer alacaklar. Makinenizde birden fazla Python sürümünüz olduğunda, belirli bir Python sürümünü başlatmak için py lanucher kullanmanız gerekecektir .
Örneğin:
py -3.7
veya
py -3.8
Makinenizde py başlatıcısı kurulu olduğundan emin olun . Windows yükleyicinin varsayılan ayarlarını kullanıyorsanız, otomatik olarak yüklenecektir. Kurulum penceresindeki "Kurulumu özelleştir" bağlantısını tıklarsanız her zaman kontrol edebilirsiniz.
Makinenizde birden fazla Python sürümü kuruluysa ve sanal ortamı (örneğin (venv) kullanarak Python'un önceki sürümünü kullanan bir projeniz varsa, Python'u yalnızca o venv'de şu şekilde yükseltebilirsiniz:
python -m venv - "sanal ortam yolunuzu" yükseltin
Örneğin, ./venv sanal ortamımda Python 3.7 var ve venv'i Python 3.8'e yükseltmek istiyorum, aşağıdakileri yapacağım
python -m venv --upgrade ./venv
Python 2.x ve Python 3.x farklıdır. Python 2'nin daha yeni bir sürümünü indirmek isterseniz, yeni sürümü indirip kurabilirsiniz.
Python 3'ü kurmak istiyorsanız, Python 3'ü ayrı olarak kurabilir ve ardından Denetim Masası> Tüm Denetim Masası Öğeleri> Sistem> Gelişmiş Sistem Ayarları> Ortam Değişkenleri'nde Python 2.x yolunu Python 3.x olarak değiştirebilirsiniz.
2019'da chocolatey kullanarak kurabilirsiniz . Cmd veya powershell'inizi açın, "choco install python" yazın.