Virtualenv: Nenhum módulo denominado 'virtualenv.seed.via_app_data'

Criado em 24 jun. 2020  ·  27Comentários  ·  Fonte: pypa/virtualenv

Edição

Ao chamar virtualenv test espero que ele crie uma pasta chamada test com todos os arquivos de ambiente virtual lá. O comportamento observado é apenas a seguinte mensagem sem nenhum teste de pasta criado:
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'

Ambiente

Forneça pelo menos:

  • SO: Ubuntu 20.04
  • pip list do host python onde virtualenv está instalado:
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

Comentários muito úteis

Nossas máquinas pareciam ter versões do debian e versões do pip instaladas .. mas mesmo depois de remover a versão do debian eu não consegui fazer isso funcionar com a versão mais recente (20.0.25) do pip. Tudo funciona com ...

sudo pip3 install virtualenv==20.0.23

Todos 27 comentários

Como você instalou o virtualenv?

sudo apt install python3-virtualenv

Eu já removi e reinstalei várias vezes sem sucesso.

Neste caso, o problema não é com o virtualenv o projeto, mas com o reempacotamento do Debians, então por favor relate seu problema em http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=python3-virtualenv

Enquanto isso, você pode usar nossos métodos de instalação alternativos para obter a versão não debian https://virtualenv.pypa.io/en/latest/installation.html#installation

@kitterma FYI

Muito obrigado pela resposta rápida ... tentarei o método de instalação alternativo.

ATUALIZAR:
Eu o removi com apt remove e tentei o método de instalação com pip que dizia que ele já estava instalado. Depois de tentar reinstalar com --force-reinstall tudo está funcionando bem.

Obrigado. O último lançamento do Ubuntu aconteceu em um ponto onde eu ainda estava trabalhando em alguns problemas no Debian. Não trabalho diretamente no Ubuntu, então não tenho certeza dos detalhes.

Fico feliz que reinstalar tenha resolvido seu problema.

@kitterma note que ele o reinstalou com pip, note apt-get ... então per se isso ainda está quebrado no nível do Debian.

Obrigado. Perdi isso. Não testei no Ubuntu. Mas funciona no Debian.

Qual é a sua versão do virtualenv? Nota: virtualenv 20.0.24 refatorou a semente do módulo de detalhes de implementação interna ... então o patch do Debian provavelmente está quebrado, a menos que você conserte isso desde então.

Vou verificar e ter certeza quando estiver na frente de um computador novamente.

Nota: virtualenv 20.0.24 refatorou a semente do módulo de detalhes de implementação interna ... então o patch do Debian provavelmente está quebrado, a menos que você conserte isso desde então.

O Ubuntu 20.04 tem a versão 20.0.17.

O rastreamento no problema aponta para /home/florian/.local/lib/python3.8/site-packages/virtualenv/ então estou supondo que @ make-ing instalou 2.0.24 por meio de pip, e essa instalação foi de alguma forma interrompida. Isso seria antes do módulo Ubuntu virtualenv em sys.path .

Nossas máquinas pareciam ter versões do debian e versões do pip instaladas .. mas mesmo depois de remover a versão do debian eu não consegui fazer isso funcionar com a versão mais recente (20.0.25) do pip. Tudo funciona com ...

sudo pip3 install virtualenv==20.0.23

@gaborbernat Eu não empacotei 2.0.24 ainda, então qualquer coisa 2.0.24 no Debian ou Ubuntu não está relacionado ao empacotamento da distro.

Portanto, conforme detalhado acima, apenas os usuários instalam o virtualenv tanto via pip quanto via apt ao mesmo tempo e o conflito entre os repositórios aciona isso. De alguma forma o Debian pode gerar algum erro em tais casos?

Eu encontrei esse problema no ubuntu bionic também ao instalar o virtualenv com pip (não apt-get). Fazer downgrade para 20.0.23 também resolveu no meu caso.

Também posso confirmar que o rebaixamento da versão para 20.0.23 resolve o problema da fossa focal.

Eu tenho o mesmo problema. Como fazer o downgrade?

@ruannyury pip uninstall virtualenv então pip install virtualenv==20.0.23

Em todos esses casos, rebaixar não é a solução real. Isso pode corrigir o problema por enquanto, mas você obterá uma versão desatualizada do software. É melhor você descobrir por que você tem duas versões instaladas em paralelo e remover ambas, e então instalar a nova.

Como descobrir? perdão pelo inconveniente

Meu sistema operacional é Manjaro 20.0.3

pip desinstalar virtualenv, pip desinstalar virtualenv? (Faça duas vezes)

Na segunda vez:
`ERRO: Exceção:
Traceback (última chamada mais recente):
Arquivo "/usr/lib/python3.8/shutil.py", linha 788, em movimento
os.rename (src, real_dst)
OSError: [Errno 18] Link entre dispositivos inválido: '/ usr / bin / virtualenv' -> '/ tmp / pip-uninstall-mpsr19ya / virtualenv'

Durante o tratamento da exceção acima, outra exceção ocorreu:

Traceback (última chamada mais recente):
Arquivo "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", linha 186, em _main
status = self.run (opções, argumentos)
Arquivo "/usr/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py", linha 78, em execução
uninstall_pathset = req.uninstall (
Arquivo "/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", linha 687, na desinstalação
Uninstall_pathset.remove (auto_confirm, verbose)
Arquivo "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", linha 394, em remover
moveu.stash (caminho)
Arquivo "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", linha 283, no stash
renomeia (caminho, novo_caminho)
Arquivo "/usr/lib/python3.8/site-packages/pip/_internal/utils/misc.py", linha 334, em renomeações
shutil.move (antigo, novo)
Arquivo "/usr/lib/python3.8/shutil.py", linha 803, em movimento
os.unlink (src)
PermissionError: [Errno 13] Permissão negada: '/ usr / bin / virtualenv'
`
Devo usar o sudo?

Talvez você tenha instalado com o instalador do sistema operacional, tente desinstalá-lo também?

Com o superusuário?
atualização: entendi.
Então, devo instalar novamente?

Lubuntu 20.04 Eu tive o mesmo problema. Resolvido revertendo para virtualenv == 20.0.23

Em todos esses casos, rebaixar não é a solução real. Isso pode corrigir o problema por enquanto, mas você obterá uma versão desatualizada do software. É melhor você descobrir por que você tem duas versões instaladas em paralelo e remover ambas, e então instalar a nova.

Esta página foi útil?
0 / 5 - 0 avaliações