2
votes

Question sur pip utilisant Python depuis le Windows Store

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?


0 commentaires

3 Réponses :


3
votes

En avance

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.

La solution simple

Créez un environnement virtuel sur un dossier plus accessible, par exemple dans C:\Users\<user>\python . Pour ce faire, procédez comme suit:

  • À l'aide de PowerShell , accédez à votre dossier utilisateur, à l'aide de 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.) ;
  • Maintenant que vous êtes dans votre dossier utilisateur, saisissez PowerShell mkdir python; cd python ;
  • Maintenant, pour créer un environnement virtuel, tapez python -m venv venv ;
  • (Vous pouvez vérifier que votre environnement virtuel a été créé en listant les dossiers, avec la commande ls );
  • Vous avez créé un environnement virtuel. Maintenant, vous devez l'activer. Pour l'activer, exécutez ce qui suit: ./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.

Mises en garde

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.

La solution recommandée

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:

  • Allez sur chocolatey.org/install et suivez les instructions d'installation;
  • (Recommandé: jetez un œil à leur documentation plus tard pour voir de quoi Chocolatey est capable);
  • Avec Chocolatey installé, faites un essai routier et voyez s'il fonctionne correctement en exécutant choco -v dans PowerShell;
  • En installant Chocolatey, vous pouvez maintenant exécuter choco install python -y . Décomposons cette commande:
    • choco install -> L'installateur de package de chocolatey
    • python -> 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.
  • Avec python installé à partir de chocolatey, vous pouvez également voir que Python est déjà ajouté à votre chemin - Cela signifie que tout package ou exécutable python installé globalement sera maintenant disponible sur votre machine!

J'espère que je pourrais vous aider!


3 commentaires

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.



1
votes

La réponse ci-dessus est bonne mais j'ai réussi à la faire fonctionner en procédant comme suit.

  1. Trouvez votre installation sous C: \ Users \ "votre utilisateur" \ AppData \ Local \ Packages, il sera nommé quelque chose comme PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0
  2. Ouvrez vos paramètres Windows dans le menu Démarrer
  3. Dans le type de recherche Variables d'environnement. La modification des variables d'environnement de votre compte devrait apparaître. Cliquez dessus
  4. Dans la zone supérieure trouver le chemin, cliquez dessus
  5. Sur la droite, cliquez sur nouveau et entrez C: \ Users \ "votre utilisateur" \ AppData \ Local \ Packages \ "python install directory name from 1. here" \ LocalCache \ local-packages \ Python37 \ Scripts insdie la petite case sous le dernier élément de la liste
  6. ouvrez une nouvelle invite cmd et tapez le script que vous vouliez qu'il fonctionne.

0 commentaires

0
votes

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.


0 commentaires