@Sinkler, ни то, ни другое. См. пост от 05.01.2018. Тут собака и зарыты. Применяем или $VENV или активацию. Но VENV - более гибкий механизм. Теперь пользуюсь только явным способом указания виртуальной папки для запуска скриптов от пирамиды. см. Quick Tutorial for Pyramid — The Pyramid Web Framework v1.9.1 [docs.pylonsproject.org] Спокойно указывайте путь к своей виртуалке через $VENV и оставьте активацию/деактивацию для virtualenv. Выше я привёл ссылку на замечательную документацию.
@Sinkler, но pyenv я использовал для установки разных версий питона (2.7.14 и 3.6.3), а затем с помощью venv была организована виртуальная папка под версией питона 3.6.6. VENV появилась только в 3-й версии питона, встроена в него и, насколько я знаю, является альтернативой virtualenv. Буду Вам признателен. если Вы проясните положение с созданием "песочницы" на данный момент, или укажете ссылки на актуальные механизмы виртуализации. Как я понял из Вашего поста, активация не нужна вовсе? Или всё-таки нужна в определённых случаях? И ещё, если не использовать venv или внешнюю альтернативу virtualenv, то тогда что?
НО, на одном из форумов меня спросили, почему я игнорирую документацию. А в ней сказано: You don’t specifically need to activate an environment; activation just prepends the virtual environment’s binary directory to your path, so that “python” invokes the virtual environment’s Python interpreter and you can run installed scripts without having to use their full path. However, all scripts installed in a virtual environment should be runnable without activating it, and run with the virtual environment’s Python automatically.
Перевод:
Вам не нужно активировать среду; активация просто добавляет двоичный каталог виртуальной среды к вашему пути, так что «python» вызывает интерпретатор Python виртуальной среды, и вы можете запускать установленные сценарии, не используя полный путь. Тем не менее, все скрипты, установленные в виртуальной среде, должны быть запущены без его активации и автоматически запускаться с помощью Python виртуальной среды. [https://docs.python.org/3/library/venv.html]
Вот крыша немного и поехала. То ли просто добавляется путь к бинарному каталогу. то ли изолируются установленные приложения от системы, но скрипты работают без активации??? Пирамида запускается в неактивированной папке, но "видна" только в активированной???
Всем добрый вечер! Есть проблемка, которую пока не смог разрешить. Описываю суть: с помощью утилиты venv, встроенной в питон, я создал виртуальную папку my_env, в которой (если быть точным, то в подкаталоге lib, находящимся в каталоге my_env) установлен фреймворк Pyramid, При запуске однофайлового "проекта" Pyramid "Hello world" (01: Single-File Web Applications — The Pyramid Web Framework v1.9.1 [docs.pylonsproject.org]) оказалось, что активация виртуальной папке не требуется, всё заработало, т.е. по указанному порту в браузере я нашёл приветствие. Но это-то как раз и смущает. Папка-то не активирована, а фреймворк под установленным питоном 3.6.3 пашет (т.е. питоновский веб-сервер запустился). В связи с этим возникли вопросы:
1. Почему скрипт работает (см. адрес выше)?
2. Какова "физика" активации? Понятно. что $ source $VENV/bin/activate, но это как раз и не потребовалось.