Trouvez où python est installé (s'il ne s'agit pas du répertoire par défaut)

166

Python est sur ma machine, je ne sais tout simplement pas où, si je tape python dans le terminal, il ouvrira Python 2.6.4, ce n'est pas dans son répertoire par défaut, il y a sûrement un moyen de trouver son emplacement d'installation à partir d'ici?

Kilizo
la source
25
Je viens de trouver le mien dans C: \ Users \ <user> \ AppData \ Local \ Programs \ Python \ Python36
relipse

Réponses:

154

Dans le terminal Unix (Mac OS X inclus), vous pouvez faire

which python

et il vous le dira.

dhg
la source
4
@Ned consultez stackoverflow.com/questions/304319/…
Foo Bah
@Foo Bah: oui, merci. Avez-vous vu que la mienne était la réponse acceptée? :)
Ned Batchelder
@Ned pas d'offense mais j'avais en fait l'intention de pointer vers la réponse qui avait le plus de votes positifs (elle utilisait des primitives CMD :)
Foo Bah
19
-1: Ce n'est certainement pas la meilleure réponse ici. Il existe des solutions à ligne unique et multiligne qui fonctionnent sur chaque réponse.
ArtOfWarfare
8
Ce n'est pas non plus la meilleure réponse car très souvent, votre pythonexécutable est un lien symbolique. which pythonsera, selon toute probabilité, simplement indiquer /usr/binou /usr/local/bin, ce qui n'est vraiment pas utile.
Jay le
200

sys a des trucs utiles:

$ python
Python 2.6.6 (r266:84297, Aug 24 2010, 18:13:38) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.executable
'c:\\Python26\\python.exe'
>>> sys.exec_prefix
'c:\\Python26'
>>>
>>> print '\n'.join(sys.path)

c:\Python26\lib\site-packages\setuptools-0.6c11-py2.6.egg
c:\Python26\lib\site-packages\nose-1.0.0-py2.6.egg
C:\Windows\system32\python26.zip
c:\Python26\DLLs
c:\Python26\lib
c:\Python26\lib\plat-win
c:\Python26\lib\lib-tk
c:\Python26
c:\Python26\lib\site-packages
c:\Python26\lib\site-packages\win32
c:\Python26\lib\site-packages\win32\lib
c:\Python26\lib\site-packages\Pythonwin
c:\Python26\lib\site-packages\wx-2.8-msw-unicode
Ned Batchelder
la source
Quand je tape sysen Python, cela dit qu'il n'est pas défini ... qu'est-ce qui se passe là-bas? Merci.
Spacey
2
@Learnaholic - Vous devez d' import sysabord.
Tony
11
Pythonique! Ceci est une réponse indépendante du système d'exploitation et ne nécessite pas d'accès à la ligne de commande. Cela a bien fonctionné pour moi car je n'ai accès qu'à l'interpréteur Python.
Robino
4
Veuillez accepter cette réponse car elle est multi-plateforme et n'a pas besoin d'accéder au shell / cmd!
Hack5
Cela fonctionne également mieux lorsque vous avez plusieurs installations de pythons et que vous y accédez via py -2 ou py -3 par exemple, car `` quel python '' n'en affichera probablement qu'un seul
GuiFGDeo
103

La solution indépendante de la plate-forme en une ligne est

Python 2:

python -c "import sys; print sys.executable"

Python 3:

python -c "import sys; print(sys.executable)"
schlamar
la source
10
Fonctionne très bien sur les fenêtres! Si vous êtes sur python 3, vous devrez le changer enprint(sys.executable)
Crazometer
la version de python 3 devrait fonctionner sur python 2 de toute façon, car les parenthèses sont simplement traitées comme un jeton
micsthepick
28

Sur Windows, l'exécution where pythondevrait fonctionner.

SitiSchu
la source
3
Celui-ci est vraiment sympa 👍
informatik01
25

Jetez un œil à sys.path:

>>> import sys
>>> print(sys.path)
MRAB
la source
celui-ci devrait être l'approche recc sur windows
Vitaliy Terziev
11

Vous devriez pouvoir taper "quel python" et il affichera un chemin vers python.

ou vous pouvez taper:

python
>>> import re
>>> re.__file__

et il affichera un chemin vers le module re et vous verrez où python est de cette façon.

tiny_mouse
la source
1
Et s'ils n'ont pas le module re.
Jakob Bowyer
3
Comment obtenir un interpréteur Python sans re? :)
Ned Batchelder
7
Et tu as oublié où tu l'as mis, n'est-ce pas? ;-)
Steven
1
C'est ainsi que je sais que /System/Library/Frameworks/Python.framework/Versions/2.5/lib/ est le même répertoire que / usr / bin?
Wooble le
1
Si vous ne disposez pas du remodule, essayez avec un module que vous ne disposez. Tout ce que vous vous attendez à être dans le libsous - répertoire devrait fonctionner, comme os(ce qui est assez essentiel).
Karl Knechtel
9

Pour trouver toutes les installations de Python sur Windows, exécutez ceci à l'invite de commande:

dir site.py /s

Assurez-vous que vous êtes dans le lecteur racine. Vous verrez quelque chose comme ça .

Webucator
la source
3

Si vous utilisez le système d'exploitation wiindows (j'utilise Windows 10), tapez simplement

where python   

dans l'invite de commande (cmd)

Il vous montrera le répertoire où vous avez installé.

Badri Paudel
la source
1

Pour les utilisateurs Windows:

Si la pythoncommande n'est pas dans votre $PATHenvironnement, var.

Ouvrez PowerShell et exécutez ces commandes pour trouver le dossier

cd \
ls *ython* -Recurse -Directory

Cela devrait vous dire python est installé

Canyon de Kolob
la source
Windows uniquement et en plus nécessite PS.
misantroop
1
@misantroop je vous mets au défi de trouver une instance de windows sans PowerShell; sauf si vous exécutez Windows Server 2003, il aura PowerShell
Kolob Canyon
1
Pas nativement sur XP et toutes les versions qui en dérivent. L'installation d'un logiciel pour déterminer où se trouve Python semble exagérée.
misantroop
@misantroop oui. XP est une version dérivée de Windows Server 2003. Vous aurez la chance de trouver une machine Windows qui n'a pas de PowerShell.
Kolob Canyon
Merci @KolobCanyon - cela est utile
hard_working_ant
1

Sur Windows, recherchez python, puis faites un clic droit et cliquez sur "Ouvrir l'emplacement du fichier". C'est comme ça que j'ai fait


la source
0
  1. Première recherche de PYTHON IDLE dans la barre de recherche
  2. Ouvrez l'IDLE et utilisez les commandes ci-dessous.

    import sys print (sys.path)

  3. Il vous donnera le chemin où le python.exe est installé. Par exemple: C: \ Users \\ ... \ python.exe

  4. Ajoutez le même chemin à la variable d'environnement système.

Anku g
la source