如何使用Python 2.6的pth文件使用自定义站点包?

时间:2009-07-21 14:45:37

标签: python

我正在尝试设置自定义的site-package目录(Windows Vista上的Python 2.6)。例如,目录应为'〜\ lib \ python2.6'(C:\ Users \ wierob \ lib \ python2.6)。因此,调用'setup.py install'应该将包复制到C:\ Users \ wierob \ lib \ python2.6。

按照说明here

我在Python安装的site-packages目录中创建了一个pth文件(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 个答案:

答案 0 :(得分:1)

如果使用BOM编码为UTF-8,则pth文件似乎会被忽略。

将没有BOM的pth文件保存为ANSI或UTF-8。

答案 1 :(得分:0)

根据documentation,您应该将路径放到.pth文件中,以便输入:

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

将起作用