Использование virtualenv с пробелами в пути
Я настроил среду virtualenv на своем Mac, но не могу заставить Pip устанавливать пакеты. Он не работает со следующей ошибкой:
/Volumes/Macintosh: bad interpreter: No such file or directory
Я проследил проблему до того, что там будет пробел, на что можно ответить здесь: qaru.site/info/143718/...
(путь /Volumes/Macintosh HD/Python/my_project
)
Но это немного проблема. Предлагаемое решение:
"просто поместите свою виртуальную среду в путь без пробела,"
но часть с пространством - это сам объем. У всех моих путей будет пробел, если я не сохраню их в каталоге /
. И я не думаю, что "хранить ваши вещи за пределами пользовательского пространства" является хорошим решением.
Есть ли лучшее решение для этого?
Ответы
Ответ 1
Попытка:
После двух шагов вы сделаете свой виртуальный рабочий процесс (также 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.
Ответ 6
На конец 2018 года последние версии pip
и virtualenv
правильно работают с пробелами в venv dir.
См. Https://github.com/pypa/virtualenv/issues/53#issuecomment-434461292.