如何获取python模块的路径(不是sys.executable)

Int*_*ure 9 python pyqt path qwebkit

我需要在python程序中获取Path for PyQt库.程序作为另一个应用程序的脚本运行,因此我的

sys.executable = 'D:/program files/visum/exe/visum115.exe
Run Code Online (Sandbox Code Playgroud)

我需要我的实际python路径(和PyQt库模块的路径)

Path = C:\Python25\Lib\site-packages\PyQt4\plugins
Run Code Online (Sandbox Code Playgroud)

我正在尝试

os.environ['PYTHONPATH']
Run Code Online (Sandbox Code Playgroud)

但我不确定它是否能够健壮.

问候!

PS.我需要它才能插入插件:

qApp.addLibaryPath('C:\Python25\Lib\site-packages\PyQt4\plugins')
Run Code Online (Sandbox Code Playgroud)

Sub*_*niC 19

您可以尝试加载模块,并在检查它的__ file __属性后获取.pyc文件的路径.

例如像这样:

import MODULE, os
path = os.path.dirname(MODULE.__file__)
Run Code Online (Sandbox Code Playgroud)

此致,HTH!


mde*_*ous 5

你在寻找的是sys.path:

>>> import sys
>>> sys.path
 ['',
 '/usr/lib/python2.7/site-packages/virtualenvwrapper.github-0.1-py2.7.egg',
 '/usr/lib/python2.7/site-packages/pycharm-debug.egg',
 '/usr/lib/python2.7/site-packages/Fom-0.9.2-py2.7.egg',
 '/usr/lib/python2.7/site-packages/blinker-1.1-py2.7.egg',
 '/usr/lib/python2.7/site-packages/httplib2-0.6.0-py2.7.egg',
 '/usr/lib/python27.zip',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-linux2',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/Numeric',
 '/usr/lib/python2.7/site-packages/PIL',
 '/usr/lib/python2.7/site-packages/gst-0.10',
 '/usr/lib/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info',
 '/usr/lib/python2.7/site-packages/wx-2.8-gtk2-unicode']
Run Code Online (Sandbox Code Playgroud)