python -/usr/bin/ld : cannot find -lpython2. 7

标签 python linux mysql-python

我正在尝试使用 Python 2.7 安装 MySQLdb。我收到的错误如下所示:

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/opt/python2.7/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
gcc -pthread -shared build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib64/mysql -L. -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -lmygcc -lpython2.7 -o build/lib.linux-x86_64-2.7/_mysql.so
/usr/bin/ld: cannot find -lpython2.7
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

很明显,它找不到 Python 2.7。查看 /usr/bin 我看到:

python*
python2@
python2.4*
python2.7@

@ 符号是什么意思?任何人都可以建议错误的补救措施吗?

最佳答案

它找不到 Python 库,而不是可执行文件。运行 locate libpython2.7.a 以查看您的 Python 库所在的位置,并将其添加到库路径(例如,如果它位于 /opt/python2.7/lib,你想调用 LDFLAGS="-L/opt/python2.7/lib"make).

@ 符号表示该文件是一个符号链接(symbolic link); * 表示它是可执行的(这些由 ls -F 生成,您可能将其作为别名)。

关于python -/usr/bin/ld : cannot find -lpython2. 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400272/

相关文章:

python - 如何从 Django 中的复选框中获取多个值

python - 如何绘制任意一点抛物线的斜率(切线)?

c++ - Qt/C++ 中的 DHCP 选项

linux - 提取分区数的最佳方法?

linux - 在 Linux 或 Mac 中进行文本处理的最佳工具是什么?

python - MySQLdb 错误 : 'Unknown Database Python' using MySQL Workbench

python - 将 url 与 python 中的自定义模式进行比较

python - 新虚拟环境中的keras导入断言错误

python - 使用 mysql-python 执行 Select 语句给出 None

Python MySQLdb 处理多个游标 : Command out of sync