Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 4, 2018 20:24:59

incomer17
Зарегистрирован: 2017-11-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Активация для виртуалки

Всем добрый вечер! Есть проблемка, которую пока не смог разрешить. Описываю суть: с помощью утилиты venv, встроенной в питон, я создал виртуальную папку my_env, в которой (если быть точным, то в подкаталоге lib, находящимся в каталоге my_env) установлен фреймворк Pyramid, При запуске однофайлового “проекта” Pyramid “Hello world” (https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/hello_world.html) оказалось, что активация виртуальной папке не требуется, всё заработало, т.е. по указанному порту в браузере я нашёл приветствие. Но это-то как раз и смущает. Папка-то не активирована, а фреймворк под установленным питоном 3.6.3 пашет (т.е. питоновский веб-сервер запустился). В связи с этим возникли вопросы:
1. Почему скрипт работает (см. адрес выше)?
2. Какова “физика” активации? Понятно. что $ source $VENV/bin/activate, но это как раз и не потребовалось.

Заранее благодарю за светлые мысли.

Офлайн

#2 Янв. 4, 2018 20:50:09

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Активация для виртуалки

виртуалка нужна для песочницы. если не активирована - запускается системный питон и библиотеки из системного окружения

Офлайн

#3 Янв. 4, 2018 21:15:19

incomer17
Зарегистрирован: 2017-11-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Активация для виртуалки

vic57
В том-то и дело, что не системный. В системе у меня 3.5, а в виртуалке 3.6. Да и ставил я виртуалку через утилиту Pyenv. И никакой пирамиды в системе нет. Однако идёт обращение к конфигуратору пирамиды и т.п. Собственно, и в примере виртуалка устанавливается, но почему-то не активируется.

Офлайн

#4 Янв. 4, 2018 21:54:44

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Активация для виртуалки

посмотрите

pip3 list
pip3 show [package]
в системе и venv - будет видно что и где установлено

Офлайн

#5 Янв. 5, 2018 03:13:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Активация для виртуалки

incomer17
2. Какова “физика” активации?
Просто подменяются системные пути к питону в данном процессе оболочки Shell. А deactivate - это временная функция в оболочке Shell (созданная через activate), которая подменяет пути обратно, типа ничего не было.



Офлайн

#6 Янв. 8, 2018 16:09:00

incomer17
Зарегистрирован: 2017-11-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Активация для виртуалки

vic57, А вот pip list и pip show срабатывают только при активации ($ source $VENV/bin/activate).
eugene@eu-IP-U430p:~$ cd $VENV # вошёл в мою виртуальную НЕактивированную папку my_env
eugene@eu-IP-U430p:~/.pyenv/versions/3.6.3/my_env$ pip list
pyenv: version `pyramid' is not installed (set by /home/eugene/.pyenv/.python-version) # пирамида, как видим, не обнаружена
eugene@eu-IP-U430p:~/.pyenv/versions/3.6.3/my_env$ source bin/activate # активируем папку и всё ОК.
(my_env) eugene@eu-IP-U430p:~/.pyenv/versions/3.6.3/my_env$ pip list -l
arrow (0.12.0)
attrs (17.3.0)
beautifulsoup4 (4.6.0)
binaryornot (0.4.4)
certifi (2017.11.5)
Chameleon (3.2)
chardet (3.0.4)
click (6.7)
colander (1.4)
cookiecutter (1.6.0)
coverage (4.4.2)
deform (2.0.4)
future (0.16.0)
hupper (1.0)
idna (2.6)
iso8601 (0.1.12)
Jinja2 (2.10)
jinja2-time (0.2.0)
Mako (1.0.7)
MarkupSafe (1.0)
PasteDeploy (1.5.2)
peppercorn (0.5)
pip (9.0.1)
plaster (1.0)
plaster-pastedeploy (0.4.1)
pluggy (0.6.0)
poyo (0.4.1)
py (1.5.2)
Pygments (2.2.0)
pyramid (1.9.1)
pyramid-chameleon (0.3)
pyramid-debugtoolbar (4.3)
pyramid-jinja2 (2.7)
pyramid-mako (1.0.2)
pytest (3.3.1)
pytest-cov (2.5.1)
python-dateutil (2.6.1)
repoze.lru (0.7)
requests (2.18.4)
setuptools (38.2.4)
six (1.11.0)
SQLAlchemy (1.1.15)
translationstring (1.3)
urllib3 (1.22)
venusian (1.1.0)
waitress (1.1.0)
WebOb (1.7.3)
WebTest (2.0.29)
whichcraft (0.4.1)
zope.deprecation (4.3.0)
zope.interface (4.4.3)
(my_env) eugene@eu-IP-U430p:~/.pyenv/versions/3.6.3/my_env$

Отредактировано incomer17 (Янв. 8, 2018 16:10:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version