J'ai installé python via Windows Store et je peux installer des programmes à l'aide de pip, mais lorsque j'essaie d'exécuter lesdits programmes, ils ne s'exécutent pas dans PowerShell.
Comment puis-je m'assurer que le dossier "scripts" nécessaire se trouve dans mon chemin? Je n'ai jamais rencontré ces problèmes lors de l'installation à partir d'un exécutable.
Par exemple, "pip install ntfy" s'exécute avec succès dans Powershell.
La commande "ntfy send test" échoue en me disant que le terme ne fait pas partie d'une applet de commande, d'une fonction, etc. etc.
Le programme 'ntfy' se trouve ici /mnt/c/Users/vlouvet/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0/LocalCache/local-packages/Python37/Scripts/ntfy.exe
Quelle est la méthode recommandée pour modifier mon chemin afin que les programmes installés via pip soient disponibles dans les mises à jour Windows Store du langage Python?
3 Réponses :
Je vous recommande vivement de ne pas utiliser python installé à partir du Windows Store, car vous ferez face à de telles erreurs, et encore plus méchantes.
Créez un environnement virtuel sur un dossier plus accessible, par exemple dans C:\Users\<user>\python
. Pour ce faire, procédez comme suit:
cd
(notez que, généralement, PowerShell démarre déjà dans votre dossier utilisateur. Il s'agit d'un paramètre important à avoir, et sinon, vous devez modifier votre point de départ PowerShell vers ce dossier à l'avenir.) ;mkdir python; cd python
;python -m venv venv
;ls
);./venv/Scripts/activate
; Maintenant, vous avez entièrement créé et activé un environnement virtuel pour votre session PowerShell actuelle. Vous pouvez maintenant installer tous les packages / programmes à l'aide de pip
.
Après cela, la seule chose que vous devez faire est d'ajouter C:\Users\<user>\python\venv\Scripts
à votre chemin, et vous êtes C:\Users\<user>\python\venv\Scripts
à partir.
En ajoutant ce dossier à votre chemin, vous utiliserez peut-être une version python obsolète à l'avenir, car le dossier Scripts
dans votre environnement virtuel ajoute également un exécutable python qui sera activé dans le chemin.
Comme je l'ai déjà dit, je ne recommande pas d'installer la version Microsoft Store de python sur votre machine. Cela dit, vous l'utilisez probablement pour les commodités d'installer la dernière version de Python dès sa sortie. Pour atténuer ce besoin tout en vous débarrassant de votre MS Store Python. Je vous recommande d'utiliser Chocolatey pour installer python (et à peu près tous les autres programmes de développement).
Qu'est-ce que Chocolatey?
Chocolatey est un gestionnaire de paquets pour Windows, un peu comme apt-get
pour Ubuntu Linux ou HomeBrew pour MacOS. En utilisant un gestionnaire de packages, vous vous débarrassez des tracas de devoir toujours exécuter les assistants d'installation (généralement ennuyeux) sur Windows.
Pour installer Chocolatey:
choco -v
dans PowerShell;choco install python -y
. Décomposons cette commande:choco install
-> L'installateur de package de chocolateypython
-> le nom du package que vous souhaitez installer-y
-> Ceci indique à l'installateur d'ignorer la vérification de l'installation en disant "Oui à tous" les scripts qui seront exécutés pour installer un paquet.J'espère que je pourrais vous aider!
Merci pour la réponse, très bonne information! Je comprends que cette fonctionnalité est actuellement en version anticipée et que certains bogues sont toujours en cours d'élaboration. J'utiliserai le super logiciel, Chocolatey, pour l'instant.
Utiliser un venv est la bonne réponse, mais il ne devrait y avoir aucun problème avec l'utilisation de Python à partir du Store ici. La négativité autour de cela n'est pas pertinente. (Et si vous rencontrez un vrai problème, le publier sur bugs.python.org est un bien meilleur moyen de le résoudre que SO.)
J'ai également eu des problèmes avec python installé en magasin - les utils installés via pip (globalement) n'étaient pas ajoutés au chemin. Je peux également recommander d'utiliser la version chocolatée, cela semble être un bien meilleur package.
La réponse ci-dessus est bonne mais j'ai réussi à la faire fonctionner en procédant comme suit.
Sous Windows, vous pouvez trouver le répertoire binaire de la base utilisateur en exécutant
C:\Users\Username\AppData\Roaming\Python36\Scripts
et le remplacement des packages de sites par des scripts.
Par exemple, cela pourrait renvoyer
C:\Users\Username\AppData\Roaming\Python36\site-packages
vous devrez donc définir votre PATH pour inclure
python -m site --user-site
Vous pouvez définir votre PATH utilisateur de manière permanente dans le panneau de configuration. Vous devrez peut-être vous déconnecter pour que les modifications PATH prennent effet.