Ik moet een Python-script uitvoeren op een Windows-server. Hoe weet ik welke versie van Python ik heb, en maakt het eigenlijk wel uit?
Ik dacht eraan om te updaten naar de nieuwste versie van Python.
Antwoord 1, autoriteit 100%
python -V
http://docs.python.org/using/cmdline.html#generic-options
--version
werkt mogelijk ook (geïntroduceerd in versie 2.5)
Antwoord 2, autoriteit 21%
Python 2.5+:
python --version
Python 2.4-:
python -c 'import sys; print(sys.version)'
Antwoord 3, autoriteit 21%
In een Python IDE, kopieer en plak gewoon de volgende code en voer deze uit (de versie zal verschijnen in het uitvoergebied):
import sys
print(sys.version)
Antwoord 4, autoriteit 5%
Typ bij een opdrachtprompt:
python -V
Of als je pyenv hebt:
pyenv versions
Antwoord 5, autoriteit 4%
Hoewel de vraag is “welke versie gebruik ik?”, is dit misschien niet alles wat je moet weten. Mogelijk hebt u andere versies geïnstalleerd en dit kan problemen veroorzaken, vooral bij het installeren van extra modules. Dit is mijn ruwe benadering om erachter te komen welke versies zijn geïnstalleerd:
updatedb # Be in root for this
locate site.py # All installations I've ever seen have this
De uitvoer voor een enkele Python-installatie zou er ongeveer zo uit moeten zien:
/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.pyo
Meerdere installaties hebben een uitvoer als volgt:
/root/Python-2.7.6/Lib/site.py
/root/Python-2.7.6/Lib/site.pyc
/root/Python-2.7.6/Lib/site.pyo
/root/Python-2.7.6/Lib/test/test_site.py
/usr/lib/python2.6/site-packages/site.py
/usr/lib/python2.6/site-packages/site.pyc
/usr/lib/python2.6/site-packages/site.pyo
/usr/lib64/python2.6/site.py
/usr/lib64/python2.6/site.pyc
/usr/lib64/python2.6/site.pyo
/usr/local/lib/python2.7/site.py
/usr/local/lib/python2.7/site.pyc
/usr/local/lib/python2.7/site.pyo
/usr/local/lib/python2.7/test/test_site.py
/usr/local/lib/python2.7/test/test_site.pyc
/usr/local/lib/python2.7/test/test_site.pyo
Antwoord 6, autoriteit 4%
Als ik Python (command line)
open, is het eerste wat het me vertelt de versie.
Antwoord 7, autoriteit 2%
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
Antwoord 8, autoriteit 2%
Kortom:
Typ
Python
in een opdrachtprompt
Open gewoon de opdrachtprompt (Win+ R) en typ cmd
en typ in de opdrachtprompt Python
geeft u alle benodigde informatie over versies:
Antwoord 9
>>> import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))
3.5
dus vanaf de opdrachtregel:
python -c "import sys; print('{0[0]}.{0[1]}'.format(sys.version_info))"
Antwoord 10
Gebruik
python -V
of
python --version
OPMERKING: Houd er rekening mee dat de “V” in de opdracht python -V
een hoofdletter V is. python -V
(kleine “v”) start Python uitgebreid modus.
Antwoord 11
Ik heb Python 3.7.0 op Windows 10.
Dit is wat voor mij werkte in de opdrachtprompt en Git Bash:
Om Python uit te voeren en de versie te controleren:
py
Alleen controleren welke versie je hebt:
py --version
of
py -V # Make sure it is a capital V
Opmerking: Python
, Python --version
, python -V
, Python
, Python --version
, python -V
werkte niet voor mij.
Antwoord 12
Je kunt de versie van Python krijgen door het volgende commando te gebruiken
python --version
Je kunt zelfs de versie krijgen van elk pakket dat in venv is geïnstalleerd met behulp van pip freeze
als:
pip freeze | grep "package name"
Of gebruik de Python-interpreter als:
In [1]: import django
In [2]: django.VERSION
Out[2]: (1, 6, 1, 'final', 0)
Antwoord 13
Om de Python-versie in een Jupyter-notebook te controleren, kunt u het volgende gebruiken:
from platform import python_version
print(python_version())
om het versienummer te krijgen, zoals:
3.7.3
of:
import sys
print(sys.version)
voor meer informatie, zoals
3.7.3 (default, Apr 24 2019, 13:20:13) [MSC v.1915 32 bit (Intel)]
of:
sys.version_info
om grote, kleine en microversies te krijgen, zoals
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)
Antwoord 14
Als u zich al in een REPL-venster bevindt en niet ziet het welkomstbericht met het versienummer, kunt u help() gebruiken om de hoofd- en secundaire versie te zien:
>>>help()
Welcome to Python 3.6's help utility!
...
Antwoord 15
Als u where python
op Windows in een opdrachtprompt typt, kunt u zien waar meerdere verschillende versies van python zijn geïnstalleerd, ervan uitgaande dat ze aan uw pad zijn toegevoegd.
Als u python -V
typt in de opdrachtprompt, wordt de versie weergegeven.
Antwoord 16
Op Windows 10 met Python 3.9.1, met behulp van de opdrachtregel:
py -V
Python 3.9.1
py --version
Python 3.9.1
py -VV
Python 3.9.1 (tags/v3.9.1:1e5d33e, Dec 7 2020, 17:08:21) [MSC v.1927 64 bit
(AMD64)]
Antwoord 17
Als u de Python-versie voor opdrachten op Windows wilt verifiëren, voert u de volgende opdrachten uit in een opdrachtprompt en controleert u de uitvoer:
c:\> python -V
Python 2.7.16
c:\> py -2 -V
Python 2.7.16
c:\> py -3 -V
Python 3.7.3
Voer ook de volgende opdrachten uit om de mapconfiguratie voor elke Python-versie te zien:
For Python 2, 'py -2 -m site'
For Python 3, 'py -3 -m site'
Antwoord 18
Als u Python hebt geïnstalleerd, kunt u het versienummer het gemakkelijkst controleren door “python” in uw opdrachtprompt te typen. Het zal u het versienummer tonen en of het op 32 bit of 64 bit draait en wat andere informatie. Voor sommige toepassingen zou je wel een laatste versie willen hebben en soms niet. Het hangt af van welke pakketten u wilt installeren of gebruiken.
Antwoord 19
Voor mij, CMD openen en draaien
py
laat iets zien als
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Antwoord 20
Maak gewoon een bestand dat eindigt op .py en plak de onderstaande code erin en voer het uit.
#!/usr/bin/python3.6
import platform
import sys
def linux_dist():
try:
return platform.linux_distribution()
except:
return "N/A"
print("""Python version: %s
dist: %s
linux_distribution: %s
system: %s
machine: %s
platform: %s
uname: %s
version: %s
""" % (
sys.version.split('\n'),
str(platform.dist()),
linux_dist(),
platform.system(),
platform.machine(),
platform.platform(),
platform.uname(),
platform.version(),
))
Als er meerdere Python-interpreterversies op een systeem zijn geïnstalleerd, voer dan de volgende opdrachten uit.
Op Linux, uitvoeren in een terminal:
ll /usr/bin/python*
Op Windows, voer het uit in een opdrachtprompt:
dir %LOCALAPPDATA%\Programs\Python
Antwoord 21
Voor bash-scripts zou dit de gemakkelijkste manier zijn:
# In the form major.minor.micro e.g. '3.6.8'
# The second part excludes the 'Python ' prefix
PYTHON_VERSION=`python3 --version | awk '{print $2}'`
echo "python3 version: ${PYTHON_VERSION}"
python3 version: 3.6.8
En als je alleen de versie major.minor
nodig hebt (bijv. 3.6
), kun je het bovenstaande gebruiken en vervolgens de eerste 3 tekens kiezen:
PYTHON_VERSION=`python3 --version | awk '{print $2}'`
echo "python3 major.minor: ${PYTHON_VERSION:0:3}"
python3 major.minor: 3.6
of
PYTHON_VERSION=`python3 -c 'import sys; print(str(sys.version_info[0])+"."+str(sys.version_info[1]))'`
echo "python3 major.minor: ${PYTHON_VERSION}"
python3 major.minor: 3.6
Antwoord 22
Meestal gebruiksopdrachten:
python -version
Of
python -V
Antwoord 23
Open een opdrachtpromptvenster (druk op Windows+ R, typ cmd
en druk op Enter) .
Typ python.exe