==环境
/Library/Frameworks/Python.framework
我尝试使用pip install jep
但我收到了错误
`ld: library not found for -lpython2.7`
我尝试添加/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib
至$ PATH
但它不起作用。
有没有人可以解决这个问题?
答案 0 :(得分:3)
快速查看jep
,它setup.py
中的安装程序似乎正在做一些关于在何处找到要与之链接的Python解释器共享库的简化和错误的假设。由于它位于OS X上,它似乎允许库默认搜索路径默认为标准库路径,包括/usr/lib
。如果您没有使用系统提供的Pythons之一,就像您的情况一样,那里找不到正确的库。 jep
应该做的是使用与正在使用的编译器相对应的python-config
命令来查找共享库位置;例如,如果使用python.org 2.7:
$ /usr/local/bin/python2.7-config --ldflags
-L/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
-ldl -framework CoreFoundation -lpython2.7
我还猜测你没有在OS X 10.9中为Xcode 5安装完整的Xcode命令行工具包,因此libpython2.7.dylib
中没有/usr/lib
。如果您这样做,请运行:
xcode-select --install
现在,您将找到libpython2.7.dylib
的符号链接,如果您重新运行pip install jep
,则不会再出现library not found
错误。但是,jep
扩展模块现在将链接到系统Python 2.7,而不是链接到您安装的较新的Python 2.7。
$ otool -L /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/jep.so
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/jep.so:
/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
那应该是/Library/Frameworks/Python.framework/Versions/2.7/Python
。
我建议您在jep
项目错误跟踪器上打开一个问题,以解决问题。