Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2013 20:33:06

Hello_world
Зарегистрирован: 2012-10-04
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Как использовать virtualenv

Приветствую.

Возникли сложности с использованием virtualenv - не понимаю как пользоваться окружением: создаю с опцией –no-site-packages, активирую, вызываю необходимый мне скрипт и он не выдает никаких ошибок(а должен, т.к не хватает модулей) - т.е используется стандартный питон, а не питон из окружения.
Что я делаю не так и как мне использовать питон из окружения?

Гуглом пользовался, здешним поиском тоже, работаю на windows.
Спасибо за помощь.

Офлайн

#2 Фев. 19, 2013 21:06:50

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Как использовать virtualenv

Похоже, что вызываете

>script.py
Вместо
>python script.py

Если нет, покажите что набираете в командной строке. И что выдаст
import sys
print(sys.executable)

Офлайн

#3 Фев. 20, 2013 08:45:11

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Как использовать virtualenv

Hello_world
создаю с опцией –no-site-packages
Она по дефолту, можно не пользоваться.

Hello_world
активирую, вызываю необходимый мне скрипт и он не выдает никаких ошибок(а должен, т.к не хватает модулей) - т.е используется стандартный питон, а не питон из окружения. Что я делаю не так и как мне использовать питон из окружения?Гуглом пользовался, здешним поиском тоже, работаю на windows.Спасибо за помощь.

Просмотреть модули можно с помощью команды pip freeze и сравнить(у окружения и главного интерпретатора), если набор одинаковый, значит действительно venv как-то неправильно работает, если разные, значит скрипт как-то не так запускаешь.



Отредактировано plusplus (Фев. 20, 2013 08:45:28)

Офлайн

#4 Фев. 20, 2013 21:08:31

Hello_world
Зарегистрирован: 2012-10-04
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Как использовать virtualenv

reclosedev, верно, вызывал просто script.py. Вызвал как python script.py - запустилось через venv. Спасибо!
plusplus, ну да, pip freeze верно выдает пустой список.

Однако в связи с этим появляется другая проблемка: если вызывать скрипт python script.py и этот скрипт находится в другой папке, то питон выдает ошибку, мол не может найти файл. Если вызываю просто как script.py - вызывается стандартный питон. Путь к папке в которой лежит скрипт находится в Path.
Добавил в файл activate: export PYTHONPATH=“/the/path/you/want”
Но ошибка не исчезла.

В принципе это все я могу легко решить - активировать lenv и перейти в нужную папку, но мало-ли есть более удобный способ.

Офлайн

#5 Фев. 21, 2013 05:24:14

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

Как использовать virtualenv

Hello_world
reclosedev, верно, вызывал просто script.py. Вызвал как python script.py - запустилось через venv. Спасибо!plusplus, ну да, pip freeze верно выдает пустой список. Однако в связи с этим появляется другая проблемка: если вызывать скрипт python script.py и этот скрипт находится в другой папке, то питон выдает ошибку, мол не может найти файл.
Ну дак, как по-другому, откуда питон может угадать, какой ты скрипт хочешь запустить без указания пути до него хотя бы относительного.

Hello_world
Если вызываю просто как script.py - вызывается стандартный питон. Путь к папке в которой лежит скрипт находится в Path.Добавил в файл activate: export PYTHONPATH=“/the/path/you/want”Но ошибка не исчезла.В принципе это все я могу легко решить - активировать lenv и перейти в нужную папку, но мало-ли есть более удобный способ.

ОС какая, Windows? У меня под Linux работает просто script.py



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version