-1: это адрес PYTHONPATH пользователя, а не PYTHONPATH virtualenv.

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

 kojiro11 авг. 2017 г., 22:49
add2virtualenv являетсяvirtualenvwrapper команда. Это не частьvirtualenv.
 user58440421 янв. 2011 г., 12:54
убедитесь, что он указывает на правильные каталоги. Если у вас его еще нет, нажмите кнопку «Создать» и создайте его.
 s2916 янв. 2013 г., 04:47
Использоватьadd2virtualenv команда.

Ответы на вопрос(6)

.virtualenvrc, если он существует в текущем каталоге, и сохранить / восстановитьPYTHONPATH на активировать / деактивировать.

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

Затем я добавил что-то подобное в мой.virtualenvrc:

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

Один из способов добавить каталог в виртуальную среду - установить 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

 mdeous18 окт. 2018 г., 09:51
просто связал этот ответ по моему, так как он намного лучше
 thecheech12 июн. 2015 г., 16:00
удалять:add2virtualenv -d
Решение Вопроса

РЕДАКТИРОВАТЬ № 2

Правильный ответ@ arogachev's one.

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

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

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

РЕДАКТИРОВАТЬ: (чтобы ответить на комментарий @RamRachum)

Чтобы восстановить его первоначальное значение наdeactivateВы можете добавить

export OLD_PYTHONPATH="$PYTHONPATH"

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

export PYTHONPATH="$OLD_PYTHONPATH"
 Ram Rachum26 янв. 2012 г., 00:03
Будет ли он также удален наdeactivate?
 Seth08 окт. 2017 г., 02:11
Кажется странным, что virtualenv не делает этого по умолчанию.
 ducin23 нояб. 2013 г., 20:37
Таким образом, это означает, что у вновь созданной виртуальной среды по умолчаниюPYTHONPATH (глобальный) вместо локального пути virtualenv?
 Niccolò11 окт. 2014 г., 05:01
Это сработало очень хорошо для меня, я не использую virtualenvwrapper. Заметьте только, что у меня не было такого скрипта bin / postdeactivate, rathere activ имел функцию деактивации. Таким образом, строка кода должна быть помещена туда, соблюдая осторожность, чтобы обернуть ее в оператор if, как и остальные операции в функции.
 mdeous25 нояб. 2013 г., 02:24
@tkoomzaaskzPYTHONPATH по умолчанию пусто, это просто способ увеличения путей поиска, доступных вsys.path, Этот метод предназначен только для того, чтобы модифицировать его, пока вы находитесь в virtualenv.

Является ли моя виртуальная среда (python) причиной сбоя PYTHONPATH?

UNIX / LINUX

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

WINDOWS XP

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

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

КОД ПИТОНА

Кроме того, вы также можете сделать ниже свой код: -

import sys
sys.path.append("/home/me/mypy") 
 twneale30 янв. 2012 г., 20:07
-1: это адрес PYTHONPATH пользователя, а не PYTHONPATH virtualenv.

Вы можете создать.pth файл, содержащий каталог для поиска, и поместите его в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 настроить.

 Red06 мар. 2019 г., 09:30
Это правильный ответ. Изменение предоставленного поставщиком скрипта (/bin/activate) является злоупотреблением служебным положением и установка сторонних инструментов уступает использованию встроенного способа для достижения того же.
 Jim DeLaHunt11 февр. 2019 г., 05:01
Я не хотел вводить абсолютный путь, потому что мои рабочие пространства перемещаются по моей файловой системе. И у моего пути проекта есть пробелы. Итак, я набрал слегка измененную команду:pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popd Затем я деактивировал свой virtualenv и снова активировал. Теперь я мог запустить код проекта, который требовал знать, где находится мой каталог проекта.
 Alec24 янв. 2018 г., 17:13
Мне действительно нравится этот подход; не так непостоянно, как добавление строк для активации / деактивации и не требует использования virtualenvwrapper. Если вы не хотите вызывать python для поиска директории site-packages, она находится на довольно предсказуемом пути$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages, Документы на файлы .pth:docs.python.org/3.6/library/site.html

активировать).

просто установите или измените ваш путь к Python, введя команду

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

для проверки питона введите 1)

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

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

Ваш ответ на вопрос