LINUX.ORG.RU

Где и как отключить PYTHONPATH ?

 , ,


0

1

Я пытаюсь выполнить руководство
https://wiki.gentoo.org/wiki/Project:Prefix/Bootstrap

когда я запускаю файл ./bootstrap-prefix.sh он сообщает мне

  uh oh, PYTHONPATH=/usr/lib/entropy/lib :(
  it appears ROOT is not set :)

Ahem, your shell environment contains some variables I'm allergic to:
  PYTHONPATH
These flags can and will influence the way in which packages compile.
In fact, they have a long standing tradition to break things.  I really
prefer to be on my own here.  So please make sure you disable these
environment variables in your shell initialisation files.  After you've
done that, you can run me again.

Я думаю, это был такой workaround для баги:
https://bugs.gentoo.org/468062

Но мне-то как дальше с этим жить?

Пробовал перед запуском скрипта выполнить команду unset PYTHONPATH, но ничего не меняется.
Мне не ясно, какие именно «shell initialisation files» мне необходимо отредактировать.

Чтение
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_01.html
не помогает, потому что
$ grep -i -R «PYTHONPATH» /etc/profile /etc/inputrc /etc/profile.d ~/.bashrc ~/.bash_profile
$
ничего не выводит

Однако есть разница между запуском без ключа -l и с ним:

$ /bin/bash  -c "echo \"\${PYTHONPATH}\""
$ /bin/bash -l -c "echo \"\${PYTHONPATH}\""
/usr/lib/entropy/lib
the -l makes it a login shell. The reason for doing it is probably so that the new shell sets up its environment (by reading your .bashrc, .bash_profile, etc.)

Чтение документации по самой PYTHONPATH
https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH
тоже ничего не проясняет

Пробовал добавить команды
export PYTHONPATH=
unset PYTHONPATH
в конец файла ~/.bashrc
и запустить дочерний bash
а у же в нём запустить скрипт ./bootstrap-prefix.sh
но и это ничего не меняет.

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

А ещё где-нибудь в скриптах может быть баг из-за которого оно само себе же и ставит PYTHONPATH.

Deleted ()
Ответ на: комментарий от Deleted

Нашел строчку
/etc/profile.env:export PYTHONPATH='/usr/lib/entropy/lib'

её комментирование помогает.

Однако!
Теперь я не понимаю, где и когда загружается файл /etc/profile.env

«you need to run env-update so that your file gets merged into /etc/profile.env» пишет нам handbook. А в самом файле написано, что редактировать надо /etc/profile. Но в файле /etc/profile нет строки про PYTHONPATH...

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

https://wiki.gentoo.org/wiki/Handbook:X86/Working/EnvVar

В общем, искать и редактировать нужно /etc/env.d, затем запускать env-update

а потом /etc/profile.env загружается в первом операторе из /etc/profile:

# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
if [ -e /etc/profile.env ] ; then
	. /etc/profile.env
fi

Einstok_Fair ★★☆ ()
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.