繁体   English   中英

uwsgi无法为python3.6构建plugin.so

[英]uwsgi can't build plugin.so for python3.6

我正在尝试构建uwsgi + django服务器。 我需要使用以下命令为python3.6构建uwsgi python36_plugin.so:

make PROFILE=nolang
PYTHON=python3 ./uwsgi --build-plugin "plugins/python python36"

它没有用:

 [root@izuf64a9gck81cz uwsgi-2.0.15]# PYTHON=python ./uwsgi --build-plugin "plugins/python python36"
*** uWSGI building and linking plugin from plugins/python ***
[gcc -pthread] python36_plugin.so
/usr/bin/ld: /usr/python3/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6m.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/usr/python3/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6m.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
*** unable to build python36 plugin ***

当我使用build python2.7版本时,结果正确

PYTHON=python2.7 ./uwsgi --build-plugin "plugins/python python27"

我的问题是我有两个版本的python 3,默认的python3是python3.4,第二个是python3.6,我想在我的django项目中使用python3.6,所以我需要构建插件和我遇到了同样的问题。

我花了几个小时解决了这个问题。 这是我从这里所做的:

  1. 重新配置我的python3.6

cd Python-3.6.4/ ./configure --enable-shared --enable-optimizations --prefix=/usr/local LDFLAGS="-Wl,--rpath=/usr/local/lib"

  1. 进入您的uwsgi文件夹,然后尝试重新构建

PYTHON=python3.6 ./uwsgi --build-plugin "plugins/python python36"

祝好运! 也可以解决您的问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM