首页 文章

python如何加载sys.path中的所有值?

提问于
浏览
7

我是一个蟒蛇初学者,我在我的第一天玩我自己的python脚本和django等项目 .

我使用Ubuntu并将PYTHONPATH设置为

export PYTHONPATH=/usr/lib/python2.6:~/Projects/mypython

当我遇到python解释器

import sys
print sys.path

我可以看到

['','/ usr / bin','/ usr / local / lib / python2.6 / did-package / romanmode-1 / rc2-py2.6.egg','/ usr / local / lib / python2 . 6 / dist-packages / rope-0.9.3-py2.6.egg','/ usr / local / lib / python2.6 / dist-packages / romanvim-0.3_rc-py2.6.egg','/ usr /lib/python2.6','/ home / jaume / Projects / mypython','/ usr / lib / python2.6 / plat-linux2','/ usr / lib / python2.6 / lib -tk',' /usr/lib/python2.6/lib-old','/usr/lib/python2.6/lib-dynload','/ usr / local / lib / python2.6 / did-package','/ usr / lib / python2.6 / dist-packages','/ usr / lib / python2.6 / did-package / PIL','/ usr / lib / python2.6 / did-package / gst-010','/ usr /lib/pymodules/python2.6','/ usr / lib / python2.6 / did-package / gtk-2.0','/ usr / lib / pymodules / python2.6 / gtk-2.0','/ usr / lib / python2.6 / dist-packages / wx-2.8-gtk2-unicode','/ usr / lib / pymodules / python2.6 /IPython / Extensions',u'/ home / jaume / .ipython']

python如何加载所有非PYTHONPATH路径?有指数吗?此外,我将我的django安装在/ usr / lib / pymodules中,即使它不在sys.path列表中,它也会运行 .

非常感谢 .

2 回答

  • 0

    这是我的计算机上的Python解释器的每个文件的列表(它的设置与您的类似,但不一样)在开始运行我提供的代码之前打开:

    $ strace -eopen python -c 1 2>&1 | grep -ve '-1 E'
    open("/etc/ld.so.cache", O_RDONLY)      = 3
    open("/lib/libpthread.so.0", O_RDONLY)  = 3
    open("/lib/libdl.so.2", O_RDONLY)       = 3
    open("/lib/libutil.so.1", O_RDONLY)     = 3
    open("/usr/lib/libssl.so.0.9.8", O_RDONLY) = 3
    open("/usr/lib/libcrypto.so.0.9.8", O_RDONLY) = 3
    open("/usr/lib/libz.so.1", O_RDONLY)    = 3
    open("/lib/libm.so.6", O_RDONLY)        = 3
    open("/lib/libc.so.6", O_RDONLY)        = 3
    open("/proc/meminfo", O_RDONLY)         = 3
    open("/usr/lib/python2.6/site.py", O_RDONLY) = 3
    open("/usr/lib/python2.6/site.pyc", O_RDONLY) = 4
    open("/usr/lib/python2.6/os.py", O_RDONLY) = 4
    open("/usr/lib/python2.6/os.pyc", O_RDONLY) = 5
    open("/usr/lib/python2.6/posixpath.py", O_RDONLY) = 5
    open("/usr/lib/python2.6/posixpath.pyc", O_RDONLY) = 6
    open("/usr/lib/python2.6/stat.py", O_RDONLY) = 6
    open("/usr/lib/python2.6/stat.pyc", O_RDONLY) = 7
    open("/usr/lib/python2.6/genericpath.py", O_RDONLY) = 6
    open("/usr/lib/python2.6/genericpath.pyc", O_RDONLY) = 7
    open("/usr/lib/python2.6/warnings.py", O_RDONLY) = 6
    open("/usr/lib/python2.6/warnings.pyc", O_RDONLY) = 7
    open("/usr/lib/python2.6/linecache.py", O_RDONLY) = 7
    open("/usr/lib/python2.6/linecache.pyc", O_RDONLY) = 8
    open("/usr/lib/python2.6/types.py", O_RDONLY) = 7
    open("/usr/lib/python2.6/types.pyc", O_RDONLY) = 8
    open("/usr/lib/python2.6/UserDict.py", O_RDONLY) = 5
    open("/usr/lib/python2.6/UserDict.pyc", O_RDONLY) = 6
    open("/usr/lib/python2.6/_abcoll.py", O_RDONLY) = 6
    open("/usr/lib/python2.6/_abcoll.pyc", O_RDONLY) = 7
    open("/usr/lib/python2.6/abc.py", O_RDONLY) = 7
    open("/usr/lib/python2.6/abc.pyc", O_RDONLY) = 8
    open("/usr/lib/python2.6/copy_reg.py", O_RDONLY) = 5
    open("/usr/lib/python2.6/copy_reg.pyc", O_RDONLY) = 6
    open("/usr/local/lib/python2.6/dist-packages", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
    open("/usr/lib/python2.6/dist-packages", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
    open("/usr/lib/python2.6/dist-packages/PIL.pth", O_RDONLY) = 4
    open("/usr/lib/python2.6/dist-packages/pygst.pth", O_RDONLY) = 4
    open("/usr/lib/python2.6/dist-packages/python-support.pth", O_RDONLY) = 4
    open("/usr/lib/python2.6/dist-packages/wx.pth", O_RDONLY) = 4
    open("/usr/lib/python2.6/dist-packages/zope.interface-3.5.3-nspkg.pth", O_RDONLY) = 4
    open("/usr/lib/python2.6/sitecustomize.py", O_RDONLY) = 4
    open("/usr/lib/python2.6/sitecustomize.pyc", O_RDONLY) = 5
    open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
    open("/usr/lib/python2.6/encodings/__init__.py", O_RDONLY) = 3
    open("/usr/lib/python2.6/encodings/__init__.pyc", O_RDONLY) = 4
    open("/usr/lib/python2.6/codecs.py", O_RDONLY) = 4
    open("/usr/lib/python2.6/codecs.pyc", O_RDONLY) = 5
    open("/usr/lib/python2.6/encodings/aliases.py", O_RDONLY) = 4
    open("/usr/lib/python2.6/encodings/aliases.pyc", O_RDONLY) = 5
    open("/usr/lib/python2.6/encodings/utf_8.py", O_RDONLY) = 3
    open("/usr/lib/python2.6/encodings/utf_8.pyc", O_RDONLY) = 4
    

    所有这些都至少可能会对sys.path产生影响 . 然而,在 site.py 之前出现的东西极不可能(那些都是不是特定于Python的OS库和接口) . 我建议你仔细看看 site.pysitecustomize.py 和各种 .pth 文件(你的 .pth 文件列表将与我的不同;这是正常的) .

  • 3

相关问题