Проблемы с установкой virtualenvwrapper в Cygwin

Я пытаюсь начать работу с книгой под названием «TDD с Python», OS W10. В рамках установки он хочет, чтобы вы установили virtualenvwrapper. Рекомендуется использовать GitBash в Windows... но я довольно долго использовал Cygwin, и мне не понравился GitBash, когда я посмотрел на него некоторое время назад.

Версия Python 3.6. Я установил virtualenvwrapper, перейдя

pip install virtualenvwrapper

Это, казалось, работало нормально.

Попытка добавить соответствующую строку настройки в мой .bashrc не увенчалась успехом:

echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

выход:

/usr/bin/python: нет модуля с именем virtualenvwrapper virtualenvwrapper.sh: возникла проблема с запуском хуков инициализации.

Если Python не может импортировать модуль virtualenvwrapper.hook_loader, убедитесь, что virtualenvwrapper установлен для VIRTUALENVWRAPPER_PYTHON=/usr/bin/python и что PATH задан правильно.

По крайней мере, это доказывает, что virtualenvwrapper.sh запускается...

На самом деле такого каталога, как /usr/bin, не существует... поэтому я добавил предыдущую строку в .bashrc, указывающую на то, что, как я надеялся, может быть тем, что может потребоваться для этой переменной среды VIRTUALENVWRAPPER_PYTHON (мы называем их так в Linux?) .

VIRTUALENVWRAPPER_PYTHON=/cygdrive/d/apps/Python/Python36/Lib/site-packages/virtualenvwrapper

Теперь я получаю

bash: /cygdrive/d/apps/Python/Python36/Lib/site-packages/virtualenvwrapper: это каталог virtualenvwrapper.sh: возникла проблема с запуском хуков инициализации.

Если Python не может импортировать модуль virtualenvwrapper.hook_loader, убедитесь, что virtualenvwrapper установлен для VIRTUALENVWRAPPER_PYTHON=/cygdrive/d/apps/Python/Python36/Lib/site-packages/virtualenvwrapper и что PATH задан правильно.

Основной вопрос: на что указывает VIRTUALENVWRAPPER_PYTHON? Исполняемый файл? Любые подсказки, которые помогут мне распознать желаемую цель, будут высоко оценены!

ПРОСВЕЩЕНИЕ ПОСЛЕ ОТВЕТА На всякий случай, если кто-то споткнется об этом, просто дам вам знать: после того, как phd дал мне ответ на этот вопрос, я обнаружил другие проблемы.

В конце концов мне удалось установить virtualenvwrapper, выполнив следующие действия:

pip uninstall virtualenvwrapper

... используйте последнюю версию Cygwin setup.exe для установки pip3. Обратите внимание на 3!

затем перейти

pip3 install virtualenvwrapper
echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

... успех! но вскоре последовала еще одна головоломка: см. здесь< /а>.


person mike rodent    schedule 11.12.2017    source источник


Ответы (1)


VIRTUALENVWRAPPER_PYTHON должен указывать на двоичный файл python: /usr/bin/python, например.

person phd    schedule 11.12.2017
comment
Спасибо... как я уже сказал, (возможно, как ни странно) в этой установке cygwin нет каталога /usr/bin. Теперь я изменил переменную env, чтобы она указывала на /bin/python3... и теперь (неудивительно) я получаю еще одну ошибку: Ошибка при поиске спецификации модуля для 'virtualenvwrapper.hook_loader'... нет модуля с именем 'virtualenvwrapper' '... Но спасибо, вы получаете очки! - person mike rodent; 11.12.2017
comment
Вы уверены, что у вас ровно один питон? Кажется, pip установил virtualenvwrapper на другой python. Попробуйте (пере)установить его с выбранным вами python: /bin/python3 -m pip install virtualenvwrapper. - person phd; 11.12.2017
comment
Спасибо ... Я провел некоторые поиски, так как вы помогли мне преодолеть это препятствие: удалил virtualenvwrapper, добавил модуль pip3 с помощью файла установки Cygwin setup .exe, попробовал еще раз ... это сработало! ... но (сюрприз!) теперь у меня есть другая загадочная вещь о непризнании Python3: stackoverflow.com/questions/47760854/ - person mike rodent; 11.12.2017
comment
Каталог /bin смонтирован в /usr/bin. Вы можете увидеть это, используя команду mount. Он показывает, как каталоги Windows отображаются в структуру каталогов в стиле posix, используемую cygwin. - person Doug Henderson; 12.12.2017