Virtualenv: 没有名为“virtualenv.seed.via_app_data”的模块

创建于 2020-06-24  ·  27评论  ·  资料来源: pypa/virtualenv

问题

在调用virtualenv test我希望它创建一个名为 test 的文件夹,其中包含所有虚拟环境文件。 观察到的行为只是以下消息,没有创建文件夹测试:
ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'

环境

至少提供:

  • 操作系统:Ubuntu 20.04
  • pip list安装了virtualenv的宿主 python:
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 项目,而是 Debian 重新打包,因此请在http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=python3-virtualenv下报告您的问题

同时,您可以使用我们的替代安装方法来获取非 debian 版本https://virtualenv.pypa.io/en/latest/installation.html#installation

@kitterma仅供参考

非常感谢您的快速响应...我将尝试替代安装方法。

更新:
我用 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 已经通过 pip 安装了 2.0.24,并且该安装以某种方式被破坏了。 这将在sys.path的 Ubuntu virtualenv模块之前。

我们的盒子似乎同时安装了 debian 版本和 pip 版本..但即使在删除 debian 版本后,我也无法让它与最新的 (20.0.25) pip 版本一起使用。 一切都与...

sudo pip3 install virtualenv==20.0.23

@gaborbernat我还没有打包 2.0.24,所以 Debian 或 Ubuntu 中的任何 2.0.24 都与发行版打包无关。

因此,如上所述,只有用户同时通过 pip 和 apt 安装 virtualenv 并且存储库之间的冲突会触发此操作。 在这种情况下,Debian 可以通过什么方式引发一些错误?

在使用 pip(不是 apt-get)安装 virtualenv 时,我在 ubuntu 仿生上也遇到了这个问题。 在我的情况下,降级到 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(options, args)
运行中的文件“/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行,卸载
卸载路径集。删除(自动确认,详细)
文件“/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 行,在 stash
重命名(路径,新路径)
文件“/usr/lib/python3.8/site-packages/pip/_internal/utils/misc.py”,第334行,重命名
关闭。移动(旧的,新的)
文件“/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 等级