circus-tent / circus

A Process & Socket Manager built with zmq
http://circus.readthedocs.org/
Other
1.55k stars 257 forks source link

util.py: load_virtualenv broken with Python 3.10 #1169

Closed dev-zero closed 2 years ago

dev-zero commented 2 years ago

https://github.com/circus-tent/circus/blob/543b739f9567f71da393dc72a8b592872b8a1248/circus/util.py#L865-L870

the last line returns the wrong value as soon as the minor version has more than one digit, resulting in an error when loading a virtualenv, here a traceback from aiida-core:

...
  File "/Users/tiziano/Projects/aiida/aiida-core/aiida/cmdline/commands/cmd_daemon.py", line 324, in start_circus
    arbiter = get_arbiter(**arbiter_config)
  File "/Users/tiziano/.local/share/virtualenvs/aiida/lib/python3.10/site-packages/circus/__init__.py", line 135, in __call__
    _watchers.append(Watcher.load_from_config(watcher))
  File "/Users/tiziano/.local/share/virtualenvs/aiida/lib/python3.10/site-packages/circus/watcher.py", line 407, in load_from_config
    w = cls(name=config.pop('name'), cmd=config.pop('cmd'), **config)
  File "/Users/tiziano/.local/share/virtualenvs/aiida/lib/python3.10/site-packages/circus/watcher.py", line 300, in __init__
    util.load_virtualenv(self, py_ver=virtualenv_py_ver)
  File "/Users/tiziano/.local/share/virtualenvs/aiida/lib/python3.10/site-packages/circus/util.py", line 874, in load_virtualenv
    raise ValueError("%s does not exist" % sitedir)
ValueError: /Users/tiziano/.local/share/virtualenvs/aiida/lib/python3.1/site-packages does not exist