<p>virtualenv échoue avec Python 3.5 sous Windows</p>

Créé le 15 sept. 2015  ·  16Commentaires  ·  Source: pypa/virtualenv

  1. Installez Python 3.5 à l'aide du programme d'installation officiel de Windows
  2. Obtenez une coquille
  3. python -m Ensurepip (parce que le programme d'installation n'a pas installé pip pour moi pour une raison quelconque)
  4. python -m pip install virtualenv (m'obtient la version 13.1.2)
  5. python -m virtualenv env

J'attends : un virtualenv dans ./env

J'obtiens : une boîte de dialogue d'erreur de l'interface graphique indiquant « Le programme ne peut pas démarrer car VCRUNTIME140.dll est absent de votre ordinateur ».

Apparemment, virtualenv doit copier vcruntime140.dll dans le nouveau virtualenv pour que Python 3.5 fonctionne sous Windows.

Initialement déposé sur http://bugs.python.org/issue25119

Commentaire le plus utile

De même, il ne copie pas python3.dll ce qui signifie que certains modules d'extension (comme PyQt5) échoueront avec ImportError: DLL load failed: The specified module could not be found.

Tous les 16 commentaires

@zooba avez-vous des conseils sur la meilleure façon de procéder ici ? Copier une dll sur chaque virtualenv 3.5 ?

Ouais, ça va être nécessaire.

Sous Windows, je suggérerais de copier chaque fichier vcruntime*.dll à partir de sys.prefix et join(sys.prefix, 'DLLs') . À un moment donné, nous déplacerons vcruntime140.dll dans les DLL pour une rétrocompatibilité avec les anciens modules d'extension, mais on ne sait pas quand ce sera (je ne suis pas encore convaincu que cela devra être dans une version majeure).

Obtenez-vous également cette erreur avec https://pypi.python.org/pypi/virtualenv-rewrite ?

Non, virtualenv-rewrite fonctionne bien avec Python 3.5. (J'ai testé virtualenv-rewrite 14.1.0 il y a quelque temps, cela fonctionne toujours bien sur mon Jenkins.)

J'ai le même problème sous Windows et copier la dll n'est pas suffisant car il n'a pas vraiment fini de configurer les scripts.

J'ai python 2.7 et 3.5 sur les mêmes fenêtres (tous deux installés pour tous les utilisateurs) et il échoue avec toutes les commandes suivantes.

> virtualenv --python="C:\Python35\python.exe" env

(with virtualenvwrapper) > mkvirtualenv --python="C:\Python35\python.exe" env

> C:\Python35\Scripts\virtualenv-3.4.exe  --python="C:\Python35\python.exe" env

confirmez ce bug avec Python 3.5.1 sous windows 10 avec virtualenv v13.1.2 :(

Au fait, j'ai dû revenir à 3.4 pour que cela fonctionne.

Je confirme cela avec Python 3.5.2 sous Windows 10 avec virtualenv 15.0.3

confirmez cela avec Python 3.5.2 sous Windows 8.1 avec virtualenv 15.0.3

Confirmer le bogue avec Python 3.5.2 sur Windows 7 avec virtualenv 15.0.3

Ok les gars. J'ai eu le même problème. J'ai installé "pywin32" depuis https://sourceforge.net/projects/pywin32/ .
Je n'ai pas eu l'erreur après cela. pywin32 a une extension python pour Windows.
Installez-le pour votre version de python.
Assurez-vous d'avoir la bonne version (correspond à la version Python, 32 bits/64 bits, etc.).
J'espère que ça aide.

Merci Amytipple ! BTW, pas besoin de télécharger des fichiers DLL à partir de sites Internet aléatoires non fiables, copiez simplement celui de c:/Python3.5/ (ou partout où vous avez installé Python 3.5) dans n'importe quel répertoire de votre % PATH%.

De même, il ne copie pas python3.dll ce qui signifie que certains modules d'extension (comme PyQt5) échoueront avec ImportError: DLL load failed: The specified module could not be found.

Il existe une solution de contournement simple. Mettez simplement à jour le chemin pour inclure la version spécifique de Python, par exemple :

set "PATH=C:\Program Files (x86)\Python36-32;%PATH%"

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Ajoutez simplement un commentaire si vous voulez le garder ouvert. Merci pour vos contributions.

Cette page vous a été utile?
0 / 5 - 0 notes