не удалось создать новый virtualenv с python2 .7 и python3 .6 в Ubuntu 18.04 - PullRequest
1 голос
/ 10 апреля 2020

Я пытаюсь использовать virtualenv для установки некоторых python модулей для глубокого обучения. Я на Ubuntu 18.04, где было установлено python2 .7. Каким-то образом я установил python 3 и создал virtualenv под названием dl4cv, где я могу работать над проектами глубокого обучения. Теперь, когда я пытаюсь сделать новое virtualenv mkvirtualenv temp после установки virtualenvwrapper , я получил ошибку, как показано ниже:

hdafa@hdafa-HP-ProBook-450-G5:~$ mkvirtualenv temp
Running virtualenv with interpreter /usr/bin/python2
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2375, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 724, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 946, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 1157, in install_python
    mkdir(lib_dir)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 329, in mkdir
    os.makedirs(path)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/hdafa/.virtualenvs/temp'

Есть идеи, как это исправить?

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Вы слишком много используете sudo. Пожалуйста, остановитесь.

Во-первых, исправьте разрешения вашего дома:

sudo chown -R hdafa /home/hdafa

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

0 голосов
/ 10 апреля 2020

Похоже, ваша ОС отказывает в разрешении на создание каталога. Попробуйте запустить команду с правами доступа root: sudo mkvirtualenv temp. Ключевое слово sudo использует права доступа root, поэтому оно должно иметь возможность создавать каталог, который ему необходим.

...