Какой файл редактировать и как? Я создал виртуальную среду.
virtualenvwrapper
команда. Это не часть virtualenv
.
Какой файл редактировать и как? Я создал виртуальную среду.
virtualenvwrapper
команда. Это не часть virtualenv
.
Ответы:
РЕДАКТИРОВАТЬ # 2
Правильный ответ - ответ @arrogachev .
Если вы хотите изменить PYTHONPATH
используемый в virtualenv, вы можете добавить следующую строку в свой bin/activate
файл virtualenv :
export PYTHONPATH="/the/path/you/want"
Таким образом, новый PYTHONPATH
будет устанавливаться каждый раз, когда вы используете этот virtualenv.
РЕДАКТИРОВАТЬ: (чтобы ответить на комментарий @ RamRachum)
Чтобы восстановить исходное значение deactivate
, вы можете добавить
export OLD_PYTHONPATH="$PYTHONPATH"
перед ранее упомянутой строкой и добавьте следующую строку в свой bin/postdeactivate
сценарий.
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
?
PYTHONPATH
(глобальное) вместо локального пути virtualenv?
Комментарий @ 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.
add2virtualenv -d
Вы можете создать .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
установки.
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. Документы по файлам .pth: docs.python.org/3.6/library/site.html
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
Затем я деактивировал свой виртуальный сервер и снова активировал его. Теперь я мог запускать код проекта, для которого требовалось знать, где находится каталог моего проекта.
/bin/activate
) является злоупотреблением служебным положением, и установка сторонних инструментов уступает использованию встроенного способа для достижения того же.
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
Я изменил свой скрипт активации, чтобы получить файл .virtualenvrc
, если он существует в текущем каталоге, и сохранить / восстановить PYTHONPATH
при активации / деактивации.
Вы можете найти пропатченный activate
скрипт здесь.. Это замена скрипту активации, созданному virtualenv 1.11.6.
Затем я добавил что-то вроде этого в свой .virtualenvrc
:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
Здесь уже есть ответ -> Моя виртуальная среда (python) вызывает поломку моего PYTHONPATH?
Добавьте это "export PYTHONPATH = / usr / local / lib / python2.0" в файл ~ / .bashrc и введите его, набрав "source ~ / .bashrc" OR ". ~ / .Bashrc".
1) Перейдите на панель управления 2) Дважды щелкните Система 3) Перейдите на вкладку Дополнительно 4) Щелкните Переменные среды
В окне «Системные переменные» проверьте, есть ли у вас переменная с именем PYTHONPATH. Если он у вас уже есть, убедитесь, что он указывает на правильные каталоги. Если у вас его еще нет, нажмите кнопку «Создать» и создайте его.
В качестве альтернативы вы также можете сделать это ниже своего кода: -
import sys
sys.path.append("/home/me/mypy")