Virtualenv: Нет модуля с именем "virtualenv.seed.via_app_data"

Созданный на 24 июн. 2020  ·  27Комментарии  ·  Источник: pypa/virtualenv

Проблема

При вызове virtualenv test я ожидаю, что он создаст папку с именем test со всеми файлами виртуальной среды внутри. Наблюдаемое поведение - это просто следующее сообщение без создания теста папки:
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'

Среда

Предоставьте как минимум:

  • ОС: Ubuntu 20.04
  • pip list хоста python, на котором установлен virtualenv :
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

Самый полезный комментарий

В наших ящиках были установлены и версии debian, и версии pip ... но даже после удаления версии debian я не мог заставить это работать с последней (20.0.25) версией pip. Все работает с ...

sudo pip3 install virtualenv==20.0.23

Все 27 Комментарий

Как вы установили virtualenv?

sudo apt install python3-virtualenv

Я уже несколько раз удалял и переустанавливал его, но безуспешно.

В этом случае проблема не в virtualenv проекта, а в переупаковке Debians, поэтому, пожалуйста, сообщите о своей проблеме на странице http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=python3-virtualenv

А пока вы можете использовать наши альтернативные методы установки, чтобы получить версию, отличную от debian https://virtualenv.pypa.io/en/latest/installation.html#installation

@kitterma FYI

Большое спасибо за очень быстрый ответ ... Я попробую альтернативный метод установки.

ОБНОВИТЬ:
Я удалил его с помощью apt remove и попробовал метод установки с помощью pip, который сказал, что он уже установлен. После попытки переустановки с помощью --force-reinstall все работает нормально.

Спасибо. Последний выпуск Ubuntu произошел в тот момент, когда я все еще работал над некоторыми проблемами в Debian. Я не работаю напрямую над Ubuntu, поэтому не уверен в деталях.

Я рад, что переустановка разрешила вашу проблему.

@kitterma обратите внимание, что он переустановил его с помощью pip, обратите внимание на apt-get ... так что по сути это все еще не работает на уровне Debian.

Спасибо. Пропустил. Я не тестировал на Ubuntu. Однако он работает в Debian.

Какая у вас версия virtualenv? Обратите внимание, что virtualenv 20.0.24 реорганизовал начальное значение модуля подробностей внутренней реализации ... так что исправление Debian, скорее всего, не работает, если вы не исправили это с тех пор.

Я проверю и убедюсь, как только снова окажусь перед компьютером.

Обратите внимание, что virtualenv 20.0.24 реорганизовал начальное значение модуля подробностей внутренней реализации ... так что исправление Debian, скорее всего, не работает, если вы не исправили это с тех пор.

Ubuntu 20.04 имеет версию 20.0.17.

Отслеживание в проблеме указывает на /home/florian/.local/lib/python3.8/site-packages/virtualenv/ поэтому я предполагаю, что @ make-ing установил 2.0.24 через pip, и эта установка была каким-то образом нарушена. Это будет до модуля Ubuntu virtualenv в sys.path .

В наших ящиках были установлены и версии debian, и версии pip ... но даже после удаления версии debian я не мог заставить это работать с последней (20.0.25) версией pip. Все работает с ...

sudo pip3 install virtualenv==20.0.23

@gaborbernat Я еще не упаковал 2.0.24, поэтому все, что связано с 2.0.24 в Debian или Ubuntu, не связано с упаковкой дистрибутива.

Таким образом, как подробно описано выше, пользователи устанавливают virtualenv как через pip, так и через apt одновременно, и конфликт между репозиториями вызывает это. Каким образом Debian может вызвать ошибку в таких случаях?

Я также столкнулся с этой проблемой на ubuntu bionic при установке virtualenv с помощью pip (не apt-get). Переход на 20.0.23 также решил эту проблему в моем случае.

Я также могу подтвердить, что понижение версии до 20.0.23 решает проблему с фокальной ямкой.

У меня точно такая же проблема. Как сделать даунгрейд?

@ruannyury pip uninstall virtualenv затем pip install virtualenv==20.0.23

Во всех этих случаях понижение версии не является фактическим решением. На данный момент это может решить проблему, но вы получите устаревшую версию программного обеспечения. Вам лучше выяснить, почему у вас установлены две версии параллельно, и удалить обе, а затем установить новую.

Как узнать? прощение за неудобства

Моя ОС - Manjaro 20.0.3

pip удалить virtualenv, pip удалить virtualenv? (Сделай это дважды)

Во второй раз:
`ОШИБКА: Исключение:
Отслеживание (последний вызов последний):
Файл "/usr/lib/python3.8/shutil.py", строка 788, в движении
os.rename (src, real_dst)
OSError: [Errno 18] Link entre dispositivos inválido: '/ usr / bin / virtualenv' -> '/ tmp / pip-uninstall-mpsr19ya / virtualenv'

Во время обработки вышеуказанного исключения произошло другое исключение:

Отслеживание (последний вызов последний):
Файл "/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", строка 186, в _main
status = self.run (параметры, аргументы)
Файл "/usr/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py", строка 78, выполняется
uninstall_pathset = req.uninstall (
Файл "/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", строка 687, при удалении
uninstalled_pathset.remove (auto_confirm, подробный)
Файл "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", строка 394, удаляется
перемещен.stash (путь)
Файл "/usr/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py", строка 283, в тайнике
переименовывает (путь, новый_путь)
Файл "/usr/lib/python3.8/site-packages/pip/_internal/utils/misc.py", строка 334, переименован
shutil.move (старый, новый)
Файл "/usr/lib/python3.8/shutil.py", строка 803, в движении
os.unlink (src)
PermissionError: [Errno 13] Permissão negada: '/ usr / bin / virtualenv'
`
Стоит ли использовать sudo?

Может быть, вы установили его с помощью установщика операционной системы, попробуйте удалить и его?

С суперпользователем?
обновление: я понял.
Итак, мне установить снова?

Lubuntu 20.04 У меня была такая же проблема. Решено путем возврата к virtualenv == 20.0.23

Во всех этих случаях понижение версии не является фактическим решением. На данный момент это может решить проблему, но вы получите устаревшую версию программного обеспечения. Вам лучше выяснить, почему у вас установлены две версии параллельно, и удалить обе, а затем установить новую.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги