Đã hỏi 13 năm, 4 tháng trước 13 years, 4 months ago
Đã xem 1,8 triệu lần 1.8m times
Làm cách nào để kiểm tra phiên bản nào của trình thông dịch Python đang chạy tập lệnh của tôi?
Mateen Ulhaq
22.6K16 Huy hiệu vàng87 Huy hiệu bạc128 Huy hiệu đồng16 gold badges87 silver badges128 bronze badges
Đã hỏi ngày 7 tháng 7 năm 2009 lúc 16:17Jul 7, 2009 at 16:17
3
Thông tin này có sẵn trong chuỗi
assert sys.version_info >= [2, 5]
4 trong mô -đun assert sys.version_info >= [2, 5]
5:>>> import sys
Con người có thể đọc được:
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
Để xử lý thêm, hãy sử dụng
assert sys.version_info >= [2, 5]
6 hoặc assert sys.version_info >= [2, 5]
7:>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
Để đảm bảo tập lệnh chạy với yêu cầu phiên bản tối thiểu của trình thông dịch Python, hãy thêm mã này vào mã của bạn:
assert sys.version_info >= [2, 5]
Điều này so sánh thông tin phiên bản chính và nhỏ. Thêm micro [= ________ 38,
assert sys.version_info >= [2, 5]
9, v.v.] và thậm chí remeaselevel [= ____ ____ 40, ________ 41, v.v.] vào tuple như bạn muốn. Tuy nhiên, lưu ý rằng hầu như luôn luôn tốt hơn để kiểm tra "vịt" nếu một tính năng nhất định có ở đó không, và nếu không, cách giải quyết [hoặc bảo lãnh]. Đôi khi các tính năng biến mất trong các bản phát hành mới hơn, được thay thế bởi những người khác.
wjandrea
25.2k8 Huy hiệu vàng54 Huy hiệu bạc75 Huy hiệu Đồng8 gold badges54 silver badges75 bronze badges
Đã trả lời ngày 7 tháng 7 năm 2009 lúc 16:20Jul 7, 2009 at 16:20
Krawyotikrawyotikrawyoti
Huy hiệu vàng 19.3K11 gold badge22 silver badges17 bronze badges
9
Từ dòng lệnh [lưu ý vốn 'V']:
python -V
Điều này được ghi lại trong 'Man Python'.
Từ bảng điều khiển Ipython
!python -V
Đã trả lời ngày 22 tháng 7 năm 2013 lúc 19:50Jul 22, 2013 at 19:50
Jcolinojcolinojcolino
4.5551 Huy hiệu vàng11 Huy hiệu bạc2 Huy hiệu đồng1 gold badge11 silver badges2 bronze badges
2
Sử dụng ____ 42's
python -V
3 từ stdlib:from platform import python_version
print[python_version[]]
# 3.9.2
Đã trả lời ngày 25 tháng 8 năm 2014 lúc 1:11Aug 25, 2014 at 1:11
BillbillBill
9.1258 Huy hiệu vàng54 Huy hiệu bạc78 Huy hiệu đồng8 gold badges54 silver badges78 bronze badges
0
Tôi thích
assert sys.version_info >= [2, 5]
7 cho những thứ như thế này.>>> import sys
>>> sys.hexversion
33883376
>>> '%x' % sys.hexversion
'20504f0'
>>> sys.hexversion < 0x02060000
True
wjandrea
25.2k8 Huy hiệu vàng54 Huy hiệu bạc75 Huy hiệu Đồng8 gold badges54 silver badges75 bronze badges
Đã trả lời ngày 7 tháng 7 năm 2009 lúc 16:20Jun 10, 2010 at 20:08
Krawyotikrawyotibrianz
Huy hiệu vàng 19.3K14 gold badges36 silver badges44 bronze badges
4
Từ dòng lệnh [lưu ý vốn 'V']:
>>> import sys
>>> sys.version_info
[2, 6, 4, 'final', 0]
>>> if not sys.version_info[:2] == [2, 6]:
... print "Error, I need python 2.6"
... else:
... from my_module import twoPointSixCode
>>>
Điều này được ghi lại trong 'Man Python'.
>>> try:
... from my_module import twoPointSixCode
... except Exception:
... print "can't import, probably because your python is too old!"
>>>
Từ bảng điều khiển IpythonJun 10, 2010 at 16:06
Đã trả lời ngày 22 tháng 7 năm 2013 lúc 19:50Seth
Jcolinojcolino10 gold badges85 silver badges119 bronze badges
4
4.5551 Huy hiệu vàng11 Huy hiệu bạc2 Huy hiệu đồng
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
0Sử dụng ____ 42's
python -V
3 từ stdlib:from platform import python_version
print[python_version[]]
# 3.9.2
Đã trả lời ngày 25 tháng 8 năm 2014 lúc 1:11Jun 10, 2010 at 16:08
Billbillrjmunro
9.1258 Huy hiệu vàng54 Huy hiệu bạc78 Huy hiệu đồng20 gold badges108 silver badges132 bronze badges
3
Tôi thích
assert sys.version_info >= [2, 5]
7 cho những thứ như thế này.>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
1Đã trả lời ngày 10 tháng 6 năm 2010 lúc 20:08
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
2BrianzbrianzSep 2, 2014 at 20:02
7.1284 Huy hiệu vàng36 Huy hiệu bạc44 Huy hiệu đồngWolph
Đặt cược tốt nhất của bạn có lẽ là một cái gì đó giống như vậy:10 gold badges132 silver badges147 bronze badges
4
Ngoài ra, bạn luôn có thể bọc nhập khẩu của mình trong một lần thử đơn giản, điều này sẽ bắt lỗi cú pháp. Và, với điểm của @Heikki, mã này sẽ tương thích với các phiên bản Python cũ hơn nhiều:
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
3Đã trả lời ngày 10 tháng 6 năm 2010 lúc 16:06Oct 20, 2017 at 2:36
SethsethDzhuang
43.5K10 Huy hiệu vàng85 Huy hiệu bạc119 Huy hiệu đồng1 gold badge12 silver badges14 bronze badges
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
4Đặt một cái gì đó như:
Đã trả lời ngày 7 tháng 7 năm 2009 lúc 16:20Jul 7, 2009 at 16:20
Krawyotikrawyotifengshaun
Huy hiệu vàng 19.3K11 gold badge15 silver badges22 bronze badges
0
Từ dòng lệnh [lưu ý vốn 'V']:
Điều này được ghi lại trong 'Man Python'.
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
5Từ bảng điều khiển Ipython
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
6
Đã trả lời ngày 22 tháng 7 năm 2013 lúc 19:50
Jcolinojcolino33 gold badges312 silver badges423 bronze badges
4.5551 Huy hiệu vàng11 Huy hiệu bạc2 Huy hiệu đồngJun 10, 2010 at 16:12
Sử dụng ____ 42's
python -V
3 từ stdlib:Heikki Toivonen
11 gold badges41 silver
badges44 bronze badgesfrom platform import python_version
print[python_version[]]
# 3.9.2
Đã trả lời ngày 25 tháng 8 năm 2014 lúc 1:11
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
7BillbillNov 16, 2017 at 2:25
9.1258 Huy hiệu vàng54 Huy hiệu bạc78 Huy hiệu đồngnormanius
Tôi thích
7 cho những thứ như thế này.5 gold badges46 silver badges78 bronze badgesassert sys.version_info >= [2, 5]
Đã trả lời ngày 10 tháng 6 năm 2010 lúc 20:08
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
8BrianzbrianzMar 16, 2018 at 1:05
7.1284 Huy hiệu vàng36 Huy hiệu bạc44 Huy hiệu đồngdstromberg
Đặt cược tốt nhất của bạn có lẽ là một cái gì đó giống như vậy:24 silver badges25 bronze badges
Ngoài ra, bạn luôn có thể bọc nhập khẩu của mình trong một lần thử đơn giản, điều này sẽ bắt lỗi cú pháp. Và, với điểm của @Heikki, mã này sẽ tương thích với các phiên bản Python cũ hơn nhiều:
... Bạn có thể [AB] sử dụng các thay đổi phạm vi hiểu biết danh sách và thực hiện nó trong một biểu thức duy nhất:single expression:
>>> print[sys.version] # parentheses necessary in python 3.
2.5.2 [r252:60911, Jul 31 2008, 17:28:52]
[GCC 4.2.3 [Ubuntu 4.2.3-2ubuntu7]]
9
Đã trả lời ngày 15 tháng 10 năm 2018 lúc 23:01Oct 15, 2018 at 23:01
user541686user541686user541686
200K123 Huy hiệu vàng515 Huy hiệu bạc867 Huy hiệu Đồng123 gold badges515 silver badges867 bronze badges
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
0đầu ra
1>>> sys.version_info [2, 5, 2, 'final', 0] # or >>> sys.hexversion 34014192
Đã trả lời ngày 23 tháng 9 năm 2019 lúc 15:24Sep 23, 2019 at 15:24
Oetzioetzioetzi
9629 Huy hiệu bạc20 Huy hiệu Đồng9 silver badges20 bronze badges
2
Cách đơn giản nhất
Chỉ cần nhập Python vào thiết bị đầu cuối của bạn và bạn có thể thấy phiên bản như sau
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
2Đã trả lời ngày 9 tháng 2 năm 2016 lúc 14:11Feb 9, 2016 at 14:11
Cjahangircjahangircjahangir
1.71316 huy hiệu bạc25 Huy hiệu đồng16 silver badges25 bronze badges
2
assert sys.version_info >= [2, 5]
6 dường như không trả lại python -V
8 kể từ 3.7. Thay vào đó, nó trả về một lớp đặc biệt, vì vậy ít nhất là tất cả các ví dụ sử dụng Tuples không hoạt động. Đây là đầu ra từ bảng điều khiển Python:>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
3Tôi đã thấy rằng việc sử dụng kết hợp
python -V
9 và !python -V
0 dường như đủ. Ví dụ,...>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
4Kiểm tra xem bạn đang chạy Python 3. Bạn thậm chí có thể kiểm tra các phiên bản cụ thể hơn với ...
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
5Có thể kiểm tra xem bạn có chạy ít nhất Python 3.5 không.
Đã trả lời ngày 6 tháng 10 năm 2018 lúc 11:38Oct 6, 2018 at 11:38
1
Kiểm tra phiên bản Python:
!python -V
1 hoặc !python -V
2 hoặc !python -V
3Bạn cũng có thể chạy
!python -V
4 để xem có bao nhiêu phiên bản được cài đặt.Đã trả lời ngày 11 tháng 4 năm 2018 lúc 2:01Apr 11, 2018 at 2:01
Shusen Yishusen YiShusen Yi
6896 Huy hiệu bạc5 Huy hiệu Đồng6 silver badges5 bronze badges
1
Để xác minh phiên bản Python cho các lệnh trên Windows, hãy chạy các lệnh sau trong dấu nhắc lệnh và xác minh đầu ra
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
6Ngoài ra, để xem cấu hình thư mục cho mỗi phiên bản Python, hãy chạy các lệnh sau:
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
7Đã trả lời ngày 2 tháng 4 năm 2019 lúc 17:13Apr 2, 2019 at 17:13
Điều này chỉ trả về !python -V
5, !python -V
6 hoặc !python -V
7
!python -V
!python -V
!python -V
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
8Đó là những gì bạn thường cần ...
Đã trả lời ngày 18 tháng 1 lúc 15:49Jan 18 at 15:49
Freedevfreedevfreedev
23.1K7 Huy hiệu vàng104 Huy hiệu bạc118 Huy hiệu đồng7 gold badges104 silver badges118 bronze badges
Cách đơn giản hơn thậm chí đơn giản hơn:
Trong Spyder, hãy bắt đầu một "bảng điều khiển ipython" mới, sau đó chạy bất kỳ tập lệnh hiện có nào của bạn.
Bây giờ phiên bản có thể được nhìn thấy trong đầu ra đầu tiên được in trong cửa sổ bảng điều khiển:
"Python 3.7.3 [mặc định, ngày 24 tháng 4 năm 2019, 15:29:51] ..."
Đã trả lời ngày 4 tháng 5 năm 2020 lúc 6:46May 4, 2020 at 6:46
S. Jessens. JessenS. Jessen
791 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges
0
Để kiểm tra từ dòng lệnh, trong một lệnh duy nhất, nhưng bao gồm chính, phụ, phiên bản vi mô, remeaselevel và serial, sau đó gọi cùng một trình thông dịch Python [tức là cùng một đường dẫn] như bạn đang sử dụng cho tập lệnh của mình:, then invoke the same Python interpreter [i.e. same path] as you're using for your script:
>>> sys.version_info
[2, 5, 2, 'final', 0]
# or
>>> sys.hexversion
34014192
9Lưu ý:
!python -V
8 Thay vì F-Strings hoặc !python -V
9 cho phép bạn sử dụng định dạng tùy ý và ký tự phân cách, ví dụ: Để biến điều này thành một chuỗi một từ có thể tốt hơn. Tôi đặt nó vào một tập lệnh tiện ích bash báo cáo tất cả các phiên bản quan trọng: python, numpy, gandas, sklearn, macOS, xcode, clang, brew, conda, anaconda, gcc/g ++, v.v. .Đã trả lời ngày 24 tháng 5 năm 2020 lúc 22:00May 24, 2020 at 22:00
Smcismcismci
30.9K18 Huy hiệu vàng111 Huy hiệu bạc146 Huy hiệu đồng18 gold badges111 silver badges146 bronze badges
3
Tất cả các câu trả lời đều có những hiểu biết tuyệt vời
Một cách khác là from platform import python_version
print[python_version[]]
# 3.9.2
0
from platform import python_version
print[python_version[]]
# 3.9.2
assert sys.version_info >= [2, 5]
0Đã trả lời ngày 19 tháng 10 lúc 5:34Oct 19 at 5:34
Ram Ghadiyaramram GhadiyaramRam Ghadiyaram
33.2K14 Huy hiệu vàng93 Huy hiệu bạc121 Huy hiệu đồng14 gold badges93 silver badges121 bronze badges
Nếu bạn đang làm việc trên Linux, chỉ cần đưa ra lệnh
from platform import python_version
print[python_version[]]
# 3.9.2
1 đầu ra sẽ như thế nàyPython 2.4.3 [#1, ngày 11 tháng 6 năm 2009, 14:09:37]
[GCC 4.1.2 20080704 [Mũ đỏ 4.1.2-44]] trên Linux2
Nhập "Trợ giúp", "Bản quyền", "Tín dụng" hoặc "Giấy phép" để biết thêm thông tin.
A-Sharabiani
16.6K16 Huy hiệu vàng107 Huy hiệu bạc127 Huy hiệu đồng16 gold badges107 silver badges127 bronze badges
Đã trả lời ngày 16 tháng 7 năm 2013 lúc 9:10Jul 16, 2013 at 9:10
PKMPKMpkm
2.6251 Huy hiệu vàng28 Huy hiệu bạc44 Huy hiệu đồng1 gold badge28 silver badges44 bronze badges
2
Đối với Windows, hãy chuyển đến Prompt Prompt và nhập lệnh này để lấy phiên bản Python:
assert sys.version_info >= [2, 5]
1Hoặc
python -V
Đã trả lời ngày 17 tháng 9 năm 2021 lúc 15:21Sep 17, 2021 at 15:21
Shailashailashaila
1078 Huy hiệu Đồng8 bronze badges
Một nỗ lực sử dụng
from platform import python_version
print[python_version[]]
# 3.9.2
2 để đọc nó trong một biến:assert sys.version_info >= [2, 5]
3Đã trả lời ngày 19 tháng 10 năm 2020 lúc 9:49Oct 19, 2020 at 9:49
WasifwasifWasif
14.1k3 Huy hiệu vàng12 Huy hiệu bạc33 Huy hiệu đồng3 gold badges12 silver badges33 bronze badges