Подтвердить что ты не робот

Использование virtualenv с пробелами в пути

Я настроил среду virtualenv на своем Mac, но не могу заставить Pip устанавливать пакеты. Он не работает со следующей ошибкой:

/Volumes/Macintosh: bad interpreter: No such file or directory

Я проследил проблему до того, что там будет пробел, на что можно ответить здесь: qaru.site/info/143718/...
(путь /Volumes/Macintosh HD/Python/my_project)

Но это немного проблема. Предлагаемое решение:

"просто поместите свою виртуальную среду в путь без пробела,"

но часть с пространством - это сам объем. У всех моих путей будет пробел, если я не сохраню их в каталоге /. И я не думаю, что "хранить ваши вещи за пределами пользовательского пространства" является хорошим решением.

Есть ли лучшее решение для этого?

4b9b3361

Ответ 1

Попытка:

  • отредактируйте bin/activate, измените VIRTUAL_ENV='/Volumes/Macintosh HD/Python/my_project' и измените PATH="$VIRTUAL_ENV/bin:$PATH", чтобы он работал в вашей среде. используя echo $PATH, чтобы проверить, работает ли он.
  • редактирование bin/pip и bin/easy_install, измените первую строку в двух файлах на

    #!/usr/bin/env python

После двух шагов вы сделаете свой виртуальный рабочий процесс (также pip/easy_install).

Ответ 2

Обратите внимание, что вам не нужно использовать папку проекта для virtualenv. Например, вы можете поместить свой virtualenv в папку /tmp или любую другую папку без пробелов:

virtualenv /tmp/temporary_virtualenv
virtualenv /home/my_envs/env_for_projectname

Ответ 3

У меня есть еще один обходной путь - вам просто нужно использовать пакет pip вместо сценария pip. Например:

python -m pip install .

или даже:

python -m pip install -U pip

Для меня работает как шарм и не требует изменений в файлах.

Ответ 4

Редактирование файла bin/activate и экранирование пробелов для меня. Отредактируйте и сохраните файл, затем запустите source bin/activate.

Ответ 5

Если у вас нет атипичной настройки диска на вашем Mac, путь /Volumes/Macintosh HD должен быть символической ссылкой на /. Другими словами, вместо

$ virtualenv /Volumes/Macintosh\ HD/venvpath

вы можете просто сделать

$ virtualenv /venvpath

Не то, чтобы я пытался потворствовать программному обеспечению, которое не обрабатывало пробелы в именах файлов. Я согласен с комментарием Хьюго выше: следите за соответствующей проблемой GitHub.