mkvirtualenv говорит «нет модуля с именем distutils.spawn» при создании venv для нестандартного python в Raspbian Buster - PullRequest
1 голос
/ 09 октября 2019

Raspbian Buster имеет Python3.7 по умолчанию. Я пытаюсь сделать Python3.6 virtualenv. У меня свежая установка Raspbian Buster с рабочим столом (не версия с «рекомендуемым программным обеспечением»), и у меня уже есть sudo apt-get update; sudo apt-get upgrade 'd.

  1. Я запустил sudo apt-get install python3.6-dev, чтобы получить Python 3.6,
  2. Затем я запускаю pip3 install virtualenvwrapper и добавляю соответствующие строки в мой .bashrc.
  3. Когда я запускаю mkvirtualenv --python=/usr/bin/python3.6 venv, выдается следующая ошибка
Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.7/site-packages/virtualenv.py", line 24, in <module>
    import distutils.spawn
ModuleNotFoundError: No module named 'distutils.spawn'

Я уже искал ответы, и ничего не помогло. Вот что я сделал (насколько я помню).

  • Я пытался добавить export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6 к моему .bashrc, и это не помогло.
  • Я пытался python3.6 -m pip install virtualenvwrapper и получите еще одну ошибку distutils:
    Traceback (most recent call last):
    File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
    File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
    File "/usr/lib/python3/dist-packages/pip/__main__.py", line 16, in <module>
    from pip._internal import main as _main  # isort:skip # noqa
    File "/usr/lib/python3/dist-packages/pip/_internal/__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
    File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
    File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
    File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 17, in <module>
    from pip._internal.locations import USER_CACHE_DIR, src_prefix
    File "/usr/lib/python3/dist-packages/pip/_internal/locations.py", line 10, in <module>
    from distutils import sysconfig as distutils_sysconfig
    ImportError: cannot import name 'sysconfig'
    
  • Я могу успешно сделать mkvirtualenv venv, но, конечно, используется Python 3.7, который мне не нужен.
  • Я пытался sudo apt-get install python3-distutils --reinstall, нокажется только установить версию Python3.7. Нет пакета python3.6-distutils.

Кто-нибудь знает что-нибудь о том, как заставить это работать?

...