[英]Install thrift_sasl for Python in Windows
我一直在尝试通过 Windows 10 x64 中的pip
安装thrift_sasl
包。
thrift_sasl
取决于sasl
包,但是在运行pip install thrift_sasl
或pip install sasl
时,我遇到了同样的错误。
creating build\temp.win-amd64-2.7\Release\sasl
C:\Users\user\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Isasl -Ic:\python27\include -Ic:\python27\PC /Tpsasl/saslwrapper.cpp /Fobuild\temp.win-amd64-2.7\Release\sasl/saslwrapper.obj
saslwrapper.cpp
sasl/saslwrapper.cpp(247) : fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory
error: command 'C:\\Users\\user\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2
问题可能是因为 Visual C++ for Python 不支持较旧的 c 头文件。 谁能帮我安装?
编辑:我安装了 mingw,并尝试使用pip
的--compiler=mingw32
选项进行安装。 现在它给了我以下错误:
C:\MinGW\bin\gcc.exe -mdll -O -Wall -Isasl -Ic:\python27\include -Ic:\python27\PC -c sasl/saslwrapper.cpp -o build\temp.win-amd64-2.7\Release\sasl\saslwrapper.o
In file included from sasl/saslwrapper.cpp:254:0:
sasl/saslwrapper.h:22:23: fatal error: sasl/sasl.h: No such file or directory
#include <sasl/sasl.h>
^
compilation terminated.
error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1
编辑 2 :我下载了 Cyrus sasl C 库并将头文件复制到 mingw 查找头文件的文件夹(即C:\\MinGW\\lib\\gcc\\mingw32\\4.9.3\\include\\sasl
)。 现在,我收到此错误:
In file included from sasl/saslwrapper.cpp:254:0:
sasl/saslwrapper.h: In member function 'void saslwrapper::ClientImpl::interact(sasl_interact_t*)':
sasl/saslwrapper.h:442:41: error: 'getpass' was not declared in this scope
char* pass = getpass(ppt.c_str());
^
sasl/saslwrapper.h:437:11: warning: unused variable 'input' [-Wunused-variable]
char* input;
^
sasl/saslwrapper.cpp: In function 'void __Pyx_RaiseArgtupleInvalid(const char*, int, Py_ssize_t, Py_ssize_t, Py_ssize_t)':
sasl/saslwrapper.cpp:3225:59: warning: unknown conversion type character 'z' in format [-Wformat=]
(num_expected == 1) ? "" : "s", num_found);
^
sasl/saslwrapper.cpp:3225:59: warning: format '%s' expects argument of type 'char*', but argument 5 has type 'Py_ssize_t {aka int}' [-Wformat=]
sasl/saslwrapper.cpp:3225:59: warning: unknown conversion type character 'z' in format [-Wformat=]
sasl/saslwrapper.cpp:3225:59: warning: too many arguments for format [-Wformat-extra-args]
error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1
我下载的 sasl 库似乎没有任何功能getpass
。 我环顾四周,发现getpass
函数仅适用于 linux 并更改终端状态,如linux 手册页所示。 我从这里下载了库。 任何解决方法的想法?
我在尝试安装 0.2.1 版本时遇到了同样的问题,但后来我尝试了最新版本(0.4.3),它安装没有问题。
"运行以下命令后,“pip install sasl”和“pip install thrift_sasl”已成功安装。
$ sudo yum install gcc-c ++ python-devel.x86_64 cyrus-sasl-devel.x86_64
当我尝试安装sasl时,我遇到了同样的麻烦。 这是我的解决方案:
答对了! 希望我能帮到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.