我正在尝试使用uwsgi
设置Django服务器。使用poise-python
使用以下配方安装uwsgi
时:
python_runtime '3'
python_package 'uwsgi' do
python '3'
end
当我登录到计算机并且只运行uwsgi
时没有任何选项时,会抛出错误:
uwsgi: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
我检查了库并且未安装libiconv.so.2
:
sudo ldconfig -p | grep libiconv
但是,当我按照以下方式重新安装时:
sudo pip uninstall uwsgi
sudo pip install uwsgi
uwsgi
命令再次起作用。有点奇怪的是,当我检查是否安装了libiconv.so.2
时,它仍然没有安装。
如何在不使用uwsgi
运行我所执行的命令的情况下告诉大厨正确安装execute
?
注意:我正在使用测试厨房,并且在运行任何命令之前已重置虚拟环境。 os是debian 8.6。
答案 0 :(得分:7)
答案 1 :(得分:1)
在厨房测试时出现同样的错误。
image = image.resize(dim)
位于libconv
,因此您需要包含/opt/chef/embedded/lib/
的路径:
ldconfig
答案 2 :(得分:0)
我知道这已经晚了3年。排序答案:
yum install libxml2-devel
为我纠正了此问题(可能会对与老厨师一起使用旧食谱的其他人有所帮助)
我试图在较旧版本的厨师食谱中安装石墨,其结果与原始海报相同。
ldd /usr/local/bin/uwsgi
linux-vdso.so.1 => (0x00007ffcdf53f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f83286fa000)
libm.so.6 => /lib64/libm.so.6 (0x00007f83283f8000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f83281f4000)
libz.so.1 => /lib64/libz.so.1 (0x00007f8327fde000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f8327d7c000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f8327b77000)
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f832780d000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f83275e7000)
libiconv.so.2 => not found
libutil.so.1 => /lib64/libutil.so.1 (0x00007f83273e4000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f83271ad000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8326de0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8328916000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f8326bdd000)
所有未找到的 都位于/opt/chef/embedded/lib
中,我的想法是pip的链接程序以某种方式使用了/opt/chef/embedded/lib/pkgconfig
而不是默认系统(或除了默认系统之外)路径。
libiconv 似乎没有在CentOS 7中使用,但包含在libxml-2.0,libxslt和libexslt的/opt/chef/embedded/lib/pkgconfig
文件中……这导致我进入 libxml2-devel 。