Python3 venv: можно ли переименовать каталог env?

Я использую Python 3.4 в Windows. Я создал виртуальную среду с

python c: \ Python34 \ Tools \ Scripts \ pyvenv.py foo

Затем активировал его

foo \ Scripts \ activate.bat

И установил в него несколько библиотек.

Вопрос: безопасно ли переименовать папку venv с "foo" в "bar"? Т.е. как только я переименовал foo в bar, активируйте его с помощью

bar \ Scripts \ activate.bat

он все еще будет работать?

Проблемы могут возникнуть при любых настройках переменных среды и абсолютных путях.


person Scrontch    schedule 08.04.2014    source источник
comment
Почему бы не попробовать и не попробовать?   -  person Torxed    schedule 08.04.2014
comment
@Torxed, я его переименовал, и это не сработало. У него было несколько жестко запрограммированных путей в файлах. Я даже использовал sed для исправления путей, но все равно что-то было сломано. (примечание: я использую Linux)   -  person Denilson Sá Maia    schedule 03.05.2014
comment
1: Вам грустно, будет ли это по-прежнему работать - Попробуйте вместо того, чтобы спрашивать, у вас больше шансов получить помощь, сообщив нам о проблеме, вместо того, чтобы спрашивать, вызовет ли это проблемы: P 2: Вы упоминаете сценарии .bat, но вы на linux? Который из них?   -  person Torxed    schedule 03.05.2014


Ответы (1)


Для этого вы должны использовать virtualenv. Из документов:

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

$ virtualenv - перемещаемый ENV

Это приведет к тому, что некоторые файлы, созданные с помощью setuptools или распространяемые, будут использовать относительные пути, и все сценарии будут использовать activate_this.py вместо использования местоположения интерпретатора Python для выбора среды.

Примечание: вы должны запустить это после того, как вы установили какие-либо пакеты в среду. Если вы делаете среду перемещаемой, а затем устанавливаете новый пакет, вы должны снова запустить virtualenv --relocatable.

Но имейте в виду:

Параметр --relocatable в настоящее время имеет ряд проблем, и его работа не гарантируется при любых обстоятельствах. Возможно, что в будущей версии virtualenv этот параметр будет исключен.

person JChris    schedule 22.12.2014
comment
Неработающей ссылке. В настоящее время virtualenv.pypa.io/en/stable/ руководство пользователя / - person r2evans; 24.01.2018