Virtualenv ». Venv / Bin / Активировать »против« Источник Venv / Bin / Активировать »

допустим, я создал virtualenv под названием venv (virtualenv venv)

Из прочитанных уроков я прочитал, что есть 2 способа активировать виртуальную среду:

. venv/bin/activate

source venv/bin/activate

Я думаю, что они оба выполняют одно и то же, но я не понимаю, что происходит.

Также для номера 1, не является "." просто имеется ввиду текущая папка? но это не сработает, если я просто наберу "venv / bin / activ" без "."

любая помощь будет отличной!

Ответы на вопрос(2)

. Команда по сути является псевдонимом дляsource, Они оба выполняют данный скрипт в текущей оболочке, не создавая новую оболочку.

Вот Вот несколько хороших примеров.

 06 сент. 2017 г., 18:11
Другой способ:. этоPOSIX-specified command это работает везде,source это псевдоним (доступен для подмножества оболочек).
Решение Вопроса

. а такжеsource делать то же самое, с той лишь разницей, что в то время какsource более читабелен, он может быть доступен не во всех оболочках.

Команда запускает содержимое скрипта в текущей оболочке, и это важно в случаеactivateпотому что одна из вещей, которую делает скрипт, это экспортировать и изменять переменные окружения в вашей текущей оболочке.

Если вы должны были запустить его с помощью./path/to/activateсценарий будет запущен в подоболочке, и все установленные переменные среды будут потеряны после завершения сценария и его завершения.

Also for number 1, doesn't the "." just mean the current folder?

. имеет различное значение в зависимости от контекста. Это означает только «текущая папка» когда используется как (или часть) пути.

Отhttp://en.wikipedia.org/wiki/Dot_%28Unix%29:

The dot command is not to be confused with a dot file, which is a dot-prefixed hidden file or hidden directory.

Кроме того, я бы посоветовал вам взглянуть наvirtualenvwrapper который предоставляет дополнительные команды-обертки, которые делаютvirtualenv гораздо проще в использовании.

С помощьюvirtualenvwrapperПереключение в среду выполняется просто путем вызова:

workon YOUR_ENV
 14 июн. 2012 г., 10:00
Если вы используете Ubuntu, вы должны остерегаться его использования Dash, а в более ранних версиях / bin / bash указывало на dash (не уверен, что он все еще работает), поэтому источник не работал, но. работал нормально.
 14 июн. 2012 г., 09:48
Источник это башизм.
 14 июн. 2012 г., 09:51
@JohnP упс. Я, возможно, случайно отредактировал это. Позвольте мне положить его обратно.

Ваш ответ на вопрос