Piszę python
w oknie terminala. Dostaję Python 2.7, a nie Python 3.5. Według dokumentacji, Python 3.5 powinien być fabrycznie załadowany.
Piszę python
w oknie terminala. Dostaję Python 2.7, a nie Python 3.5. Według dokumentacji, Python 3.5 powinien być fabrycznie załadowany.
Odpowiedzi:
Nie wiem, jakie „dokumenty” czytasz, ani co mówią, ale /usr/bin/python
jest to tylko symboliczny link do domyślnej wersji Pythona, w tym przypadku 2.7, który jest wynikiem pisania python
na terminalu. Jest to wynik PEP 394, który to definiuje
- na razie wszystkie dystrybucje powinny zapewnić, że
python
odnoszą się do tego samego celu copython2
.
type python
i file /usr/bin/python
potwierdzi to.
Powodem tego innego układu niż konwencja jest to, że pakiet źródłowy python-defaults w Xenial to wersja 2.7.11 , więc dowiązanie symboliczne python wskazuje na tę wersję.
Aby użyć Pythona 3, musisz wyrazić się wyraźnie i wpisać python3
w linii poleceń, co jest zalecane w przypadku, gdy potrzebujesz konkretnej wersji, możesz to również zrobić, wpisując Python 2 python2
. Ubuntu domyślnie zawiera zarówno wersje Python 2, jak i 3 we wszystkich bieżących wersjach.
Istnieją plany migracji wszystkiego do Pythona 3 i oznaczenia go jako domyślnego.
Aby uzyskać Python 3.5 REPL lub uruchomić zgodny skrypt, wpisz python3
. Ma to na celu zachowanie zgodności ze wszystkimi starszymi wersjami Pythona 2.x (które zawsze były i pozostaną powiązane python
).
Myślnik może znaleźć, python
jeśli skonfigurujesz .desktop
dla niego plik (in ~/.local/share/applications/
), aby otworzyć terminal i na przykład uruchomić REPL. Nie ma domyślnego środowiska REPL GUI dla Pythona, a normalnym oczekiwaniem interfejsu jest to, że użytkownik pójdzie do terminala.
Mówienie o domyślnym pythonie 3.5 to opiekunowie przenoszący wszystkie skrypty systemowe z python 2.x na python 3.x, nie że python 3 zastąpiłby python 2 we wszystkich przypadkach.
#!/usr/bin/python3
(lub #!/usr/bin/python2
) w skryptach, lepiej użyć (tylko dla Pythona), #!/usr/bin/env python3
jeśli chcesz, aby był zdalnie przenośny. W przeważającej części jest to tylko dokumentacja, ponieważ w wielu przypadkach i tak zostanie wywołana za pomocą $ python3 your_pyprogram.py
.
Zakładasz, że domyślny Python powinien być dostępny jako python
. To założenie jest błędne.
W systemie, w którym Python 3 jest „wstępnie załadowany” i nie ma w ogóle Python 2, będzie tylko python3
i nie python
.
Kod napisany dla Python 3 powinien zawsze szukać interpretera o nazwie python3
. Kod napisany dla Python 2 będzie historycznie szukał python
.
Może nadejść moment, być może dziesięciolecia, w którym prawie nikt nie pamięta Python 2, kiedy python
może zacząć się odnosić python3
. Byłoby to wyłącznie dla wygody i można i nie powinno się tego robić przedwcześnie, jeśli w ogóle! Nie spieszy się z powodu następującego wpływu:
„Obecne stare” systemy nie będą miały żadnej wiedzy python2
, tylko python
dlatego warto szukać kodu w Pythonie 2 python
. To jest powód, dla którego python
należy odwoływać się do Python 2 „tak długo, jak istnieje kod Python 2”.
Nowy kod napisany dla Pythona 2, jeśli ma to sens, może doskonale szukać python
. Może również szukać python2
, jeśli jest przeznaczony do uruchamiania tylko na systemach świadomych i zadbanych w Pythonie 3 (które powinny oferować taki link).
Zaletą użycia kodu w Pythonie 2 python2
jest to, że nie wymaga on dodatkowego dotykania, gdy python
zacznie się odwoływać python3
, co może się nigdy nie zdarzyć, lub gdy python
w ogóle zniknie, co może się zdarzyć lub nie. (Może się to zdarzyć, jeśli kod Pythona 2 zginie po hipotetycznym Pythonie 4, który zyskuje popularność dzięki interpreterowi python4
. - Ponieważ pozwolenie na wskazanie jednego python3
lub python4
obu byłoby mylące).
Dostępne są wersje Python w wersji 2.x, 3.x. jeśli wywołasz Python tak, jak wskazuje na Python 2.x, załaduje Python 2.x
Poniższy obrazek pomoże ci.
python
jest użycie <tab>
zapytania do autouzupełniacza, który następnie wypisuje możliwe permutacje python*
i powoduje powrót do nowego monitu.
apt-cache
, szczególnie dla początkujących Ubuntu.
Python 3.x powinien działać z 16.04 - Właściwie to na pewno zadziała. Mam Ubuntu 14.04 i mam Python 3.4.3 - Wszystko, co musisz zrobić, aby go przetestować, to wpisz python3
i powinien powiedzieć, którą wersję uruchamiasz.