【发布时间】:2016-05-16 20:04:37
【问题描述】:
在Darwin上用Anaconda Python3.5,如下函数
import pkg_resources
pkg_resources.resource_filename('icqsol', 'icqLaplaceMatricesCpp')
会返回类似
的东西'//anaconda/lib/python3.5/site-packages/icqsol-0.3.19-py3.5-macosx-10.5-x86_64.egg/icqsol/icqLaplaceMatricesCpp'
而我需要的是
'/anaconda/lib/python3.5/site-packages/icqsol-0.3.19-py3.5-macosx-10.5-x86_64.egg/icqsol/icqLaplaceMatricesCpp.cpython-35m-darwin.so'
在这种特殊情况下,请注意后缀 '.cpython-35m-darwin.so'。我相信 setuptools 在使用 python 3.5 时会自动添加这个后缀——使用 python 2.7 时它不存在。
有人知道如何返回完全限定的共享库以便我可以使用
import ctypes
sharedLibName = ...
lib = ctypes.cdll.LoadLibrary(sharedLibName))
?在此先感谢您的帮助
【问题讨论】:
标签: python shared-libraries setuptools pkg-resources