Virtualenv: Aucun module nommé 'virtualenv.seed.via_app_data'

Créé le 24 juin 2020  ·  27Commentaires  ·  Source: pypa/virtualenv

Problème

En appelant virtualenv test je m'attends à ce qu'il crée un dossier nommé test avec tous les fichiers d'environnement virtuel qui s'y trouvent. Le comportement observé est simplement le message suivant sans aucun test de dossier créé :
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'

Environnement

Fournir au moins :

  • Système d'exploitation : Ubuntu 20.04
  • pip list de l'hôte python où virtualenv est installé :
Package                Version
---------------------- -------------
appdirs                1.4.4
apturl                 0.5.2
awscli                 1.17.14
blinker                1.4
botocore               1.14.14
Brlapi                 0.7.0
certifi                2019.11.28
chardet                3.0.4
chrome-gnome-shell     0.0.0
colorama               0.4.3
command-not-found      0.3
cryptography           2.8
cupshelpers            1.0
dbus-python            1.2.16
defer                  1.0.6
distlib                0.3.0
distro                 1.4.0
distro-info            0.23ubuntu1
docutils               0.16
entrypoints            0.3
filelock               3.0.12
httpie                 1.0.3
httplib2               0.14.0
idna                   2.8
importlib-metadata     1.5.0
jmespath               0.9.4
keyring                18.0.1
language-selector      0.1
launchpadlib           1.10.13
lazr.restfulclient     0.14.2
lazr.uri               1.0.3
louis                  3.12.0
macaroonbakery         1.3.1
more-itertools         4.2.0
netifaces              0.10.4
oauthlib               3.1.0
olefile                0.46
pexpect                4.6.0
Pillow                 7.0.0
pip                    20.1.1
protobuf               3.6.1
pyasn1                 0.4.2
pycairo                1.16.2
pycups                 1.9.73
Pygments               2.6.1
PyGObject              3.36.0
PyJWT                  1.7.1
pymacaroons            0.13.0
PyNaCl                 1.3.0
pyRFC3339              1.1
python-apt             2.0.0
python-dateutil        2.7.3
python-debian          0.1.36ubuntu1
pytz                   2019.3
pyxdg                  0.26
PyYAML                 5.3.1
reportlab              3.5.34
requests               2.22.0
requests-unixsocket    0.2.0
roman                  2.0.0
rsa                    4.0
s3transfer             0.3.3
SecretStorage          2.3.1
setuptools             45.2.0
simplejson             3.16.0
six                    1.14.0
systemd-python         234
ubuntu-advantage-tools 20.3
ubuntu-drivers-common  0.0.0
ufw                    0.36
unattended-upgrades    0.1
urllib3                1.25.8
virtualenv             20.0.24
wadllib                1.3.3
wheel                  0.34.2
xkit                   0.0.0
zipp                   1.0.0
  ```

**Output of the virtual environment creation**

```console
71 setup logging to NOTSET [DEBUG report:42]
88 find interpreter for spec PythonSpec(path=/usr/bin/python3) [INFO builtin:44]
88 proposed PythonInfo(spec=CPython3.8.2.final.0-64, exe=/usr/bin/python3, platform=linux, version='3.8.2 (default, Apr 27 2020, 15:53:34) \n[GCC 9.3.0]', encoding_fs_io=utf-8-utf-8) [INFO builtin:50]
88 accepted PythonInfo(spec=CPython3.8.2.final.0-64, exe=/usr/bin/python3, platform=linux, version='3.8.2 (default, Apr 27 2020, 15:53:34) \n[GCC 9.3.0]', encoding_fs_io=utf-8-utf-8) [DEBUG builtin:52]
89 filesystem is case-sensitive [DEBUG info:28]
Traceback (most recent call last):
  File "/home/florian/.local/bin/virtualenv", line 8, in <module>
    sys.exit(run_with_catch())
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/__main__.py", line 63, in run_with_catch
    run(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/__main__.py", line 17, in run
    session = cli_run(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 24, in cli_run
    session = session_via_cli(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 32, in session_via_cli
    parser, elements = build_parser(args, options)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 60, in build_parser
    SeederSelector(interpreter, parser),
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/seeders.py", line 8, in __init__
    possible = self.options("virtualenv.seed")
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/base.py", line 39, in options
    cls._OPTIONS = cls.entry_points_for(key)
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/base.py", line 18, in entry_points_for
    return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {}))
  File "/home/florian/.local/lib/python3.8/site-packages/virtualenv/run/plugin/base.py", line 18, in <genexpr>
    return OrderedDict((e.name, e.load()) for e in cls.entry_points().get(key, {}))
  File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'
question

Commentaire le plus utile

Nos boîtes semblaient avoir à la fois des versions debian et des versions pip installées... mais même après avoir supprimé la version debian, je n'arrivais pas à faire fonctionner cela avec la dernière version (20.0.25) de pip. Tout fonctionne avec...

sudo pip3 install virtualenv==20.0.23

Tous les 27 commentaires

Comment as-tu installé virtualenv ?

sudo apt install python3-virtualenv

Je l'ai déjà supprimé et réinstallé plusieurs fois sans succès.

Dans ce cas, le problème ne vient pas du projet virtualenv, mais du reconditionnement de Debian. Veuillez donc signaler votre problème sous http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=python3-virtualenv

En attendant, vous pouvez utiliser nos méthodes d'installation alternatives pour obtenir la version non debian https://virtualenv.pypa.io/en/latest/installation.html#installation

@kitterma Pour info

Merci beaucoup pour la réponse très rapide... je vais essayer la méthode d'installation alternative.

METTRE À JOUR:
Je l'ai supprimé avec apt remove et j'ai essayé la méthode d'installation avec pip qui disait qu'elle était déjà installée. Après avoir essayé de réinstaller avec --force-reinstall tout fonctionne bien.

Merci. La dernière version d'Ubuntu est arrivée à un moment où je travaillais encore sur certains problèmes dans Debian. Je ne travaille pas directement sur Ubuntu, donc je ne suis pas sûr des détails.

Je suis heureux que la réinstallation ait résolu votre problème.

@kitterma note qu'il l'a réinstallé avec pip, note apt-get... donc en soi, c'est toujours cassé au niveau Debian.

Merci. J'ai raté ça. Je n'ai pas testé sur Ubuntu. Cela fonctionne cependant sur Debian.

C'est ça, quelle est votre version de virtualenv ? Notez que virtualenv 20.0.24 a refactorisé la graine du module de détail d'implémentation interne... donc le correctif Debian est probablement interrompu à moins que vous ne l'ayez corrigé depuis lors.

Je vérifierai et m'assurerai une fois que je serai à nouveau devant un ordinateur.

Notez que virtualenv 20.0.24 a refactorisé la graine du module de détail d'implémentation interne... donc le correctif Debian est probablement interrompu à moins que vous ne l'ayez corrigé depuis lors.

Ubuntu 20.04 a la version 20.0.17.

Le retraçage dans le problème pointe vers /home/florian/.local/lib/python3.8/site-packages/virtualenv/ donc je suppose que @make-ing avait installé 2.0.24 via pip, et cette installation était en quelque sorte interrompue. Ce serait avant le module Ubuntu virtualenv dans sys.path .

Nos boîtes semblaient avoir à la fois des versions debian et des versions pip installées... mais même après avoir supprimé la version debian, je n'arrivais pas à faire fonctionner cela avec la dernière version (20.0.25) de pip. Tout fonctionne avec...

sudo pip3 install virtualenv==20.0.23

@gaborbernat Je n'ai pas encore empaqueté 2.0.24, donc tout ce qui est 2.0.24 dans Debian ou Ubuntu n'est pas lié à l'empaquetage de distribution.

Donc, comme détaillé ci-dessus, seuls les utilisateurs installant virtualenv à la fois via pip et via apt en même temps et un conflit entre les référentiels le déclenchent. De toute façon, Debian peut-il générer une erreur dans de tels cas ?

J'ai également rencontré ce problème sur ubuntu bionic lors de l'installation de virtualenv avec pip (pas apt-get). La rétrogradation à 20.0.23 l'a également résolu dans mon cas.

Je peux également confirmer que la mise à niveau vers la version 20.0.23 résout le problème de la fosse focale.

J'ai le même problème. Comment faire le downgrade ?

@ruannyury pip uninstall virtualenv puis pip install virtualenv==20.0.23

Dans tous ces cas, le déclassement n'est pas la solution réelle. Cela peut résoudre le problème pour le moment, mais vous obtiendrez une version obsolète du logiciel. Vous feriez mieux de découvrir pourquoi vous avez deux versions installées en parallèle et de supprimer les deux, puis d'installer la nouvelle.

Comment le savoir ? pardon pour la gêne occasionnée

Mon système d'exploitation est Manjaro 20.0.3

pip désinstaller virtualenv, pip désinstaller virtualenv ? (Fais-le deux fois)

Dans un deuxième temps :
`ERREUR : Exception :
Traceback (appel le plus récent en dernier) :
Fichier "/usr/lib/python3.8/shutil.py", ligne 788, en déplacement
os.rename(src, real_dst)
OSError : [Errno 18] Lien entre les dispositifs valides : '/usr/bin/virtualenv' -> '/tmp/pip-uninstall-mpsr19ya/virtualenv'

Lors du traitement de l'exception ci-dessus, une autre exception s'est produite :

Traceback (appel le plus récent en dernier) :
Fichier "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", ligne 186, dans _main
status = self.run(options, arguments)
Fichier "/usr/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py", ligne 78, en cours d'exécution
uninstall_pathset = req.uninstall(
Fichier "/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", ligne 687, en désinstallation
uninstalled_pathset.remove(auto_confirm, verbeux)
Fichier "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", ligne 394, en suppression
move.stash(chemin)
Fichier "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", ligne 283, dans la cachette
renomme(chemin, nouveau_chemin)
Fichier "/usr/lib/python3.8/site-packages/pip/_internal/utils/misc.py", ligne 334, à renommer
Shutil.move (ancien, nouveau)
Fichier "/usr/lib/python3.8/shutil.py", ligne 803, en mouvement
os.unlink(src)
PermissionError : [Errno 13] Permissão negada : '/usr/bin/virtualenv'
`
Dois-je utiliser le sudo ?

Peut-être que vous l'avez installé avec votre programme d'installation du système d'exploitation, essayez de le désinstaller également ?

Avec le super utilisateur ?
mise à jour : j'ai compris.
Alors, dois-je réinstaller ?

Lubuntu 20.04 J'ai eu le même problème. Résolu en revenant à virtualenv==20.0.23

Dans tous ces cas, le déclassement n'est pas la solution réelle. Cela peut résoudre le problème pour le moment, mais vous obtiendrez une version obsolète du logiciel. Vous feriez mieux de découvrir pourquoi vous avez deux versions installées en parallèle et de supprimer les deux, puis d'installer la nouvelle.

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