Hangi Python kurulumunun kullanıldığını nasıl bilebilirim?


5

Eğer komutu yazarsam which python, sonra alıyorum:

Oliviers-iMac:~$ which -a python
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/bin/python

O zaman ben yazarım python --version, hangi Python kurulumunun sürümünü alacağımı nasıl bilebilirim? İki farklı Python kurulumunun üstündeki iki konum var mı?


1
which python yani, a olmadan hangisinin kullanılacağını
Mark

Sanırım hangisinin idam edileceğine $ PATH sırasına bağlı, değil mi?
Olivier de Broqueville

1
@ Müşteriden evet doğru
Mark

Yanıtlar:


1

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python büyük olasılıkla bir Sembolik bağ .

readlink bir link üzerinde size hedef verecektir.

Örneğin Mavericks kurulumumda aşağıdakiler var:

$readlink /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
python2
$readlink /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2
python2.7

Yani kaçtığım zaman python aslında çalışır /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


Ayrıca, koşarken komik bir şey var /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

Bunu dene

>>> import sys
>>> print sys.executable 

Bunu döndürecek:

/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOs/Python

Garip! Arabulucu simlink'lerin neden gerekli olduğunu merak ediyorum? Belki de python 2.7, python'u genişleten python 2'yi genişlettiğindendir?
Olivier de Broqueville

Bu arada, /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python muhtemelen bir simlink olduğunu söylerken, / usr / bin / python 'u işaret ettiğini mi kastediyorsunuz? Simlinkler her zaman / usr / bin içindeki ikiliklere işaret eder mi? (Noob soruları için özür dilerim!)
Olivier de Broqueville

sembolik bağlantı herhangi bir şeye işaret edebilir. Dosya, dizin, ikili. Takma ad gibi (biraz).
Matthieu Riegler

0

Python kodluyorsanız, isteyebilirsiniz:

import sys
sys.path

Yol muhtemelen kullandığınız python sürümünü gösterir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.