Как использовать пользовательский пакет сайта с использованием pth-файлов для Python 2.6? - PullRequest
0 голосов
/ 21 июля 2009

Я пытаюсь настроить пользовательский каталог пакета сайта (Python 2.6 в Windows Vista). Например, каталог должен быть '~ \ lib \ python2.6' (C: \ Users \ wierob \ lib \ python2.6). Следовательно, вызов 'setup.py install' должен скопировать пакеты в C: \ Users \ wierob \ lib \ python2.6.

Следуя инструкциям здесь :

Я создал pth-файл в каталоге site-packages установки Python (C: \ Python26 \ Lib \ site-packages). Этот файл содержит одну строку:

import os, site; site.addsitedir(os.path.expanduser('~/lib/python2.6'))

Кроме того, у меня есть домашний каталог pydistutils.cfg (C: \ Users \ wierob), который содержит:

[install]
install_lib = ~/lib/python2.6
install_scripts = ~/bin

Когда я запускаю «setup.py install», я получаю следующее сообщение об ошибке:

C:\Users\wierob\Documents\Python\workspace\rsreader>setup.py install
running install
Checking .pth file support in C:\Users\wierob\lib\python2.6\
C:\Python26\pythonw.exe -E -c pass
TEST FAILED: C:\Users\wierob\lib\python2.6\ does NOT support .pth files
error: bad install directory or PYTHONPATH

You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from.  The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    C:\Users\wierob\lib\python2.6\

Так что, похоже, pth-файл не работает. Хотя, если я введу

site.addsitedir(os.path.expanduser('~/lib/python2.6'))

в интерактивном сеансе Python каталог успешно добавляется в sys.path.

Есть идеи? Спасибо.

Ответы [ 2 ]

1 голос
/ 21 июля 2009

pth-файл, по-видимому, игнорируется, если кодируется в UTF-8 с BOM.

Сохранение pth-файла в формате ANSI или UTF-8 без спецификации.

0 голосов
/ 21 июля 2009

Согласно документации вы должны указать пути к файлу .pth, поэтому, возможно, введите:

C:\Users\wierob\lib\python2.6

будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...