web-dev-qa-db-fra.com

Installation de Python 3.4 et 2.7 sans dossier de script ni pip installé

Je faisais une nouvelle installation pour Python 2.7.9 et 3.4.3 sur Win7 X64 aujourd'hui, et j'ai constaté qu'il n'y a pas de dossier Script dans les dossiers Python27 et Python34 en tant que premier dossier de niveau enfant, mais il y en a un dans Tools. Cependant, je n'ai pas trouvé pip dans ce dossier de scripts, bien que pip soit installé avec Python par défaut. L'autre, je faisais la même installation pour mon autre PC et ordinateur portable, il y avait un dossier Script (en tant que dossier enfant de premier niveau dans Python27 et Python34) contenant pip. Alors, quoi de neuf? comment installer pip et peut-être d'autres scripts utiles de cette façon?

[EDIT] J'ai essayé python -m ensurepip dans Python34. J'ai eu les erreurs suivantes:

Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
 Exception:
 Traceback (most recent call last):
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\basecommand.py", line 232, in main
  status = self.run(options, args)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\commands\install.py", line 339, in run
  requirement_set.prepare_files(Finder)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\req\req_set.py", line 333, in prepare_files
  upgrade=self.upgrade,
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 326, in find_requirement
  file_locations, url_locations = self._sort_locations(locations)
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 158, in _sort_locations
  sort_path(os.path.join(path, item))
File "C:\Users\daiyue\AppData\Local\Temp\tmppvmc8dv1\pip-6.0.8-py2.py3-none-
any.whl\pip\index.py", line 139, in sort_path
  if mimetypes.guess_type(url, strict=False)[0] == 'text/html':
File "C:\Python34\lib\mimetypes.py", line 287, in guess_type
  init()
File "C:\Python34\lib\mimetypes.py", line 348, in init
  db.read_windows_registry()
File "C:\Python34\lib\mimetypes.py", line 255, in read_windows_registry
  with _winreg.OpenKey(hkcr, subkeyname) as subkey:
TypeError: OpenKey() argument 2 must be str without null characters or None,  not str

[EDIT] Le problème est dû à plusieurs clés de registre null dans HKEY_LOCAL_MACHINE qui rendent read_windows_registry() dans mimetypes.py recherches infructueuses. Voici le post qui mène à la solution:

Python 'pip' et corruption de registre Windows

merci 

20
daiyue

Si vous avez utilisé les installateurs Windows PSF (python.org) .msi, pip (et les dépendances) doivent être installés dans pythonxy/Lib/site-packages pour 3.4.0+ et 2.7.9+. Il devrait également y avoir pythonxy/Scripts contenant environ 5 .ex. Ceci est la dernière partie du processus d'installation. Une fenêtre d'invite de commande devrait apparaître brièvement. Peut-être n'avez-vous pas vérifié l'installation de pip lors de l'installation (bien que cela aurait dû être vérifié par défaut). Peut-être il y avait une erreur que vous avez manquée.

Dans tous les cas, vous devriez avoir pythonxy/Lib/Ensurepip/* présent pour 2.7 et 3.4 et vous devriez pouvoir exécuter ce module maintenant. Dans l'invite de commande, essayez python -m ensurepip dans les deux .../python27 et .../python34.

9
Terry Jan Reedy

Ce problème est un bug officiel: Issue23604 .

J'avais rencontré le même problème et je l'ai corrigé avec succès en utilisant la méthode in Swarley's Blog .

4
J3soon

Avait le même problème, la réinstallation n'a pas aidé.

Enfin corrigé en exécutant python -m ensurepip en tant que administrateur .

2
AnirudhKonduru
2
Ashish Gupta

Windows 10. J'avais ce problème lors de l'installation de Python 2.7 dans C:/Program Files/Python27 .. Je pense que dans ce cas, il s'agissait d'un problème de chemin. Fix était de faire une installation dans C:/Python27, copiez le dossier Scripts de cette installation vers l’installation dans C:/Program Files/Python27. Tout le reste (y compris les chemins d'accès à Python et aux scripts) était bien. 

2
David Karla

Devine quoi? Si vous avez NetBeans (ou probablement GlassFish) installé, l'installation de pip pourrait alors être interrompue!

(Détails:} _ il y a un bogue dans le programme d'installation de NetBeans qui pourrait parfois détruire le registre Windows d'une manière que les autres installateurs n'attendaient pas.

La réponse de @ J3soon était proche, mais le blog de Swarley n'a pas résolu le problème dans mon environnement, car il ne s'agissait pas d'un caractère nul, mais d'un autre type de corruption de registre.

Et voici comment je me suis débarrassé du problème. Exécutez le script PowerShell suivant:

$local_key = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*'
$machine_key = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
$machine_key6432 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'
$items = Get-ChildItem @($local_key, $machine_key, $machine_key6432)
$ErrorActionPreference = 'Stop'

foreach ($item in $items) {
    Write-Output $item.PSPath
    $null = Get-ItemProperty $item.PSPath
}

Il écrira les noms de clé de registre dans la sortie. Si une erreur est imprimée, prenez la dernière clé imprimée et supprimez-la du registre (à l'aide de PowerShell ou de regedit ou de l'outil de votre choix).

Après cela, réinstallez Python, et il devrait installer pip comme prévu.

1
ForNeVeR

J'ai rencontré le même problème aujourd'hui en essayant d'installer Python 2.7.13 sur mon ordinateur. Après une enquête, j'ai réalisé que la v.3.60 ("Anaconda") était déjà présente (elle est venue avec Microsoft Visual Studio 2017, que j'ai installée il y a quelques semaines).

Je pensais qu'il y avait une incompatibilité de chemin dans le registre. J'ai donc essayé de supprimer Python v. 3.60 et 2.17 et de nettoyer le registre en supprimant la clé HKCU\Software\Python (qui, pour une raison quelconque, était toujours present) . Après cela, j'ai pu installer correctement la version 2.7.13 et cette fois le dossier\scripts est présent, avec tout le contenu attendu.

Je ne sais pas si une nouvelle installation de la version 3.6 poserait problème: je ne vais pas essayer cela pour le moment car je suis en train de développer pour la version 2.7.

J'espère que cela pourra vous être utile, de toute façon.

Max - Italie


EDIT: J'ai fait des recherches plus approfondies et pense avoir découvert la raison pour laquelle (dans mon cas) le dossier\Scripts était manquant: le chemin où j'allais installer Python est dans le lecteur virtuel.

Sur mon ordinateur, je n'ai qu'une seule partition (C :) et j'ai mappé un dossier (C:\Development) en tant que D :, puis j'ai essayé d'installer Python sur D:\Python27; apparemment, ce n’est pas «bon» et pose un problème dans le programme d’installation.

Après avoir découvert cela, j’ai essayé d’installer le vrai chemin, et maintenant tout semble aller pour le mieux.

Max.

1
Max1234-ITA

J'avais également rencontré le même problème que j'ai réussi à résoudre. Le problème est que lorsque vous installez le python dans la configuration par défaut, il installe le dossier python dans le dossier "c:\user\Appdata ......" qui est long et difficile à trouver. Pour éviter cela, commencez par désinstaller complètement python 3.7 du système depuis le panneau de configuration -> programme de désinstallation. Puis réinstallez-le avec l'option "personnaliser l'installation". Sur la page suivante, remplacez l'emplacement par défaut par C:/Python/Python37-32, cochez les cases requises et cliquez sur Installer. Cela devrait résoudre votre problème. 

0
Gautam

J'utilise python 3.6.2 et suis confronté à un problème similaire de dossier de scripts manquant (également de script pip) dans le dossier python. J'ai fait les choses suivantes pour ajouter le dossier de scripts à python.

  1. Aller à - Panneau de configuration\Tous les éléments du panneau de configuration\Programmes et fonctionnalités Ensuite, recherchez le programme Python et essayez de le désinstaller. Une fenêtre pop apparaîtra qui montre l'image suivante.

Image Python

Essayez de réparer le programme installé qui devrait résoudre le problème. 

  1. Sinon, cochez la case MODIFIER, cochez la case pip, cochez la case Ajouter Python aux variables d'environnement, puis installez-la. Cela devrait résoudre le problème.
0
prateek shrivastav

Basé sur une combinaison de ce qui est ici et de ce que j'ai trouvé ailleurs, voici comment je l'ai corrigé:

Désinstallez ce qui est déjà installé . Allez dans regedit et HKLM/SOFTWARE/Python et supprimez toute la section python . Réinstallez Python

Ce installé avec le dossier de scripts cette fois.

J'espère que ça aide quelqu'un.

0
Aaron Doyle

En fait, le dossier Scripts ne sera pas créé après l’installation de python. Vous devez le créer manuellement, puis installer pip, puis vous pourrez trouver les fichiers requis dans ce répertoire.

0
girishlc

Même je faisais face à ce problème. Je l'ai résolu en procédant comme suit:

  1. Désinstallez Python. (Vous pouvez utiliser le programme d'installation (python-2.7.xx.msi) pour procéder à la désinstallation. Sélectionnez l'option 'Supprimer Python'en double-cliquant sur le programme d'installation.)

  2. Editez la variable d'environnement 'Path' et supprimez le chemin du répertoire python. (Pour modifier la variable d'environnement, cliquez avec le bouton droit de la souris sur 'Ce PC', cliquez sur Propriétés, puis sur 'Propriétés système avancées' -> Variables d'environnement)

  3. Supprimez la variable d'environnement 'Python Path' si elle est présente.

  4. Maintenant, réinstallez python. 

Ça va marcher !!! 

0
Pranav