Как вы устанавливаете свой pythonpath в уже созданном virtualenv?

Какой файл я могу изменить и как? Я создал виртуальную среду.

Ответ 1

Если вы хотите изменить PYTHONPATH, используемый в virtualenv, вы можете добавить следующую строку в ваш файл virtualenv bin/activate:

export PYTHONPATH="/the/path/you/want"

Таким образом, новый PYTHONPATH будет установлен каждый раз, когда вы используете этот virtualenv.

EDIT: (чтобы ответить на комментарий @RamRachum)

Чтобы восстановить его исходное значение на deactivate, вы можете добавить

export OLD_PYTHONPATH="$PYTHONPATH"

перед указанной выше линией и добавьте следующую строку в bin/postdeactivate script.

export PYTHONPATH="$OLD_PYTHONPATH"

Ответ 2

Комментарий @s29 должен быть ответом:

Один из способов добавления каталога в виртуальную среду - установить virtualenvwrapper (что полезно для многих вещей), а затем сделать

mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path

Если вы хотите удалить этот путь, отредактируйте файл myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth

Документацию по virtualenvwrapper можно найти на http://virtualenvwrapper.readthedocs.org/en/latest/

Конкретную документацию по этой функции можно найти в http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv

Ответ 3

Я изменил свой активировать script, чтобы загрузить файл .virtualenvrc, если он существует в текущем каталоге, и сохранить/восстановить PYTHONPATH при активации/деактивации.

Здесь вы можете найти исправленный activate script.. Это замена для активации script, созданного virtualenv 1.11.6.

Затем я добавил что-то вроде этого в свой .virtualenvrc:

export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"

Ответ 4

После инициализации вашего vertualenv (1. cd venv и 2. source bin/activate).

просто установите или измените свой путь python, введя следующую команду:

export PYTHONPATH = '/home/django/srmvenv/lib/python3.4'

для проверки пути python введите 1)

type  python then 
>> import sys
>> sys.path

Спасибо вам...

Ответ 5

Вы можете создать файл .pht, содержащий каталог для поиска, и поместить его в каталог site-packages. Например:.

cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth

Эффект такой же, как добавление /some/library/path в sys.path и остается локальным в настройке virtualenv.

Ответ 6

Здесь уже ответил → Является ли моя виртуальная среда (python), из-за которой мой PYTHONPATH прерывается?

UNIX/LINUX

Добавьте "export PYTHONPATH =/usr/local/lib/python2.0" в файл ~/.bashrc и введите его, набрав "source ~/.bashrc" ИЛИ ". ~/.bashrc".

WINDOWS XP

1) Перейдите на панель управления 2) Система двойного щелчка 3) Перейдите на вкладку "Дополнительно" 4) Нажмите "Переменные среды"

В окне "Системные переменные" проверьте, есть ли у вас переменная с именем PYTHONPATH. Если у вас его уже есть, проверьте, что он указывает на нужные каталоги. Если у вас его еще нет, нажмите кнопку "Создать" и создайте его.

КОД ПИТАНИЯ

В качестве альтернативы вы также можете сделать ниже своего кода: -

import sys
sys.path.append("/home/me/mypy")