7 python setuptools library-path
为了安装第三方Python包,我使用了setup.py脚本,该脚本使用setuptools.setup()来安装一堆包.安装完成后,我可以在/usr/local/lib/python2.7/dist-packages下的一台机器上以及/usr/lib/python2.7/site-packages下的另一台机器上找到这些软件包.
现在我想写一个Python脚本,找出第三方软件包的安装位置.我怎样才能做到这一点?
1)sys.prefix = sys.exec_prefix在两台机器上都是"/ usr".
2)python可执行文件位于两台机器/ usr/bin/python上.
3)distutils.sysconfig.get_python_lib()在一台机器上是/usr/lib/python2.7/dist-packages(缺少"local"),在另一台机器上是/usr/lib/python2.7/site-packages.
如果已经安装了软件包,您只需导入它们,然后查看它们的__file__属性:
>>> import mymodule
>>> print mymodule.__file__
'/path/to/mymodule.py'
Run Code Online (Sandbox Code Playgroud)
我不知道在 Python 中执行此操作的好方法(除了使用 os.walk 从给定根爬行目录以查找文件)。如果您没有获得关于如何在 Python 中执行此操作的更好答案,您可以在操作系统上从 python 执行命令,以在您要查找的库上执行标准 Linux/Unix find 命令。您可以使用subprocess 模块来执行此操作。