2013-11-16 3 views
3

Я хочу знать, как '~/.local/lib/python2.7/site-packages' попасть в мой 'sys.path'.каталог сайта пользователя-пакета

Определяется ли оно PEP 370 или изменено pip (я устанавливаю пакет с опцией -user)?

Я также узнал, что эта запись исчезает, если я перемещаю '~/.local/lib/python2.7/site-packages' до '~/.local/lib/python2.7/site-packages.bak'.

Я добавляю эту функцию Ad-hoc data breakpoints в .pystartup, но ничего не меняется.

У любого есть идеи по этому поводу?

+0

Ваша папка 'site-package' автоматически добавляется к вашему пути Python, потому что это стандартная библиотека для внешних пакетов/модулей ... –

ответ

1

Он поставляется через модуль site, который по умолчанию импортируется интерпретатором, если вы не дадите ему опцию -S. (Сделайте это, и вы увидите, что это больше не добавил, наряду с другими вещами.)

В частности, это происходит от понятия в site модуля из каталога «базы пользователей», которая по умолчанию ~/.local на системах POSIX. Это, в свою очередь, обрабатывается модулем sysconfig, как переменная конфигурации userbase.

Для получения более подробной информации см. Документацию для модулей site и sysconfig.

Причина, по которой ваши точки останова данных не работают, вероятно, только потому, что site импортирован до запуска вашего .pystartup.

+0

** site.ENABLE_USER_SITE ** по умолчанию имеет значение True, поэтому если опция no -S , ** ~/.local ** будет добавлено в ** sys.path **? – schemacs

+0

Да; Разве это не то, что я сказал? :) – Dolda2000

Смежные вопросы