Jad*_*ias 20 python installation ssl google-app-engine python-2.5
Google App Engine Launcher告诉我:
警告找不到appengine_rpc.py:399 ssl模块.如果没有ssl模块,则无法验证远程主机的身份,并且连接可能不安全.要解决此问题,请从http://pypi.python.org/pypi/ssl安装ssl模块 .
我下载了包,它包含一个setup.py文件.我跑了:
python setup.py install
Run Code Online (Sandbox Code Playgroud)
然后:
Python was built with Visual Studio 2003; blablabla use MinGW32
Run Code Online (Sandbox Code Playgroud)
然后我安装了MinGW32,现在编译不起作用.编译错误的结尾包含:
ssl/_ssl2.c:1561:错误:`CRYPTO_LOCK'未声明(首次在此函数中使用)
错误:命令'gcc'失败,退出状态为1
我该怎么办?
And*_*Dog 15
从gnuwin32项目中获取openssl和libgw32c包(下载"Developer files"!)并将它们解压缩到安装gnuwin32的地方 - 或者如果你还没有gnuwin32工具,你可以在任何地方提取它(例如"C:\ Program"文件\的GnuWin32" ).在"setup.py"文件中输入gnuwin32目录(替换第154行中的"C:\ Utils\GnuWin32").
然后你可以ssl毫无问题地构建模块.我自己测试了,使用GCC"4.3.2-tdm-2 mingw32"和命令行setup.py build -cmingw32(-cmingw32强制MinGW,因为我也安装了Microsoft的编译器).setup.py install成功构建安装后执行ssl.
我不得不使用AndiDog方法的以下修改:
setup.py build -cmingw32
setup.py install --skip-build
Run Code Online (Sandbox Code Playgroud)
如果没有--skip-build选项,安装会再次尝试构建并再次抱怨MSVC:
error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.
Run Code Online (Sandbox Code Playgroud)
另外,最初使用build命令时我遇到了很多错误,如下所示:
build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x1d): undefined reference to `_imp__PyImport_ImportModule'
build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x34): undefined reference to `_imp__PyObject_GetAttrString'
build\temp.win32-2.5\Release\ssl\_ssl2.o:_ssl2.c:(.text+0x53): undefined reference to `_imp__PyCObject_AsVoidPtr'
Run Code Online (Sandbox Code Playgroud)
这是因为我最初安装了64位版本的Python 2.5.4(python-2.5.4.amd64.msi).我删除了它并安装了32位版本(python-2.5.4.msi).这包括构建命令正在查找的libpython25.a文件.