LINUX.ORG.RU

Python - как сделать, чтобы не надо было прописывать переменную окружения PYTHONPATH?

 


0

2

Есть проектик следующей структуры:

projectname
|-src
| |-package1
| |-package2
| \_package3
\_другая_папка

И каждый раз, когда я собираюсь что-то поизменять и позапускать в этом коде, я активирую соответствующий virtualenv, запускаю один из питоновских модулей в одном из этих пакетов (а некоторые модули там импортируют модули из других пакетов), он выдает ошибку, что например нет такого модуля package1, тогда я вспоминаю про PYTHONPATH, делаю в баше export PYTHONPATH=/path/to/projectname/src, работаю так, закрываю терминал и в следующий раз снова натыкаюсь на эти грабли.

Как бы мне сделать так, чтобы не приходилось каждый раз PYTHONPATH прописывать? У меня есть подозрения, что должен быть какой-то каноничный питоновский способ.

★★

Последнее исправление: hlebushek (всего исправлений: 1)

Ответ на: комментарий от zz

If a directory contains a .env file, it will automatically be executed when you cd into it.

Autoenv overrides cd. If you already do this, invoke autoenv_init within your custom cd after sourcing activate.sh.

Звучит костыльно и как что-то, что когда-нибудь сломается. Не хочу. Я уверен, другие питонисты делают это как-то по-другому.

hlebushek ★★
() автор топика
Ответ на: комментарий от hlebushek

Видимо другие питонисты добавляют src в sys.path в скрипте.

zz ★★★★
()

Посмотри в сторону buildout

Kilte ★★★★★
()

If you want to change the PYTHONPATH used in a virtualenv, you can add the following line to your virtualenv's bin/activate file:

export PYTHONPATH=«/the/path/you/want»

menangen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.