/usr/bin/ld:找不到-lpython2.7

2024-06-16 12:53:55 发布

您现在位置: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

显然,它找不到Python2.7。在/usr/bin中查看,我看到:

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

符号@是什么意思?有人能建议纠正这个错误吗?


Tags: buildbinincludelinuxusrstatus错误mysql
2条回答

上面的解决方案并不是很适合我,因为我正在使用pip安装mysql python,但肯定是朝着正确的方向推进了一大步。对于与我处于相同情况下从Google登录到这里的任何人,我的解决方案是将libpython2.7.a从python安装目录符号链接到lib dir:

ln -s /opt/python2.7.1/lib/python2.7/config/libpython2.7.a /usr/local/lib/

pip install mysql python运行后没有任何问题。

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

符号@表示文件是一个符号链接;*表示它是可执行的(这些是由^{}生成的,您可以将其作为别名)。

相关问题 更多 >